effect 2.4.18 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (688) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Readable/package.json +6 -0
  4. package/Record/package.json +6 -0
  5. package/RegExp/package.json +6 -0
  6. package/Subscribable/package.json +6 -0
  7. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  8. package/dist/cjs/Array.js.map +1 -0
  9. package/dist/cjs/Brand.js +2 -2
  10. package/dist/cjs/Brand.js.map +1 -1
  11. package/dist/cjs/Channel.js +4 -8
  12. package/dist/cjs/Channel.js.map +1 -1
  13. package/dist/cjs/Chunk.js +5 -1
  14. package/dist/cjs/Chunk.js.map +1 -1
  15. package/dist/cjs/ConfigError.js.map +1 -1
  16. package/dist/cjs/Cron.js +13 -13
  17. package/dist/cjs/Cron.js.map +1 -1
  18. package/dist/cjs/Duration.js +39 -2
  19. package/dist/cjs/Duration.js.map +1 -1
  20. package/dist/cjs/Effect.js +14 -10
  21. package/dist/cjs/Effect.js.map +1 -1
  22. package/dist/cjs/Either.js +4 -1
  23. package/dist/cjs/Either.js.map +1 -1
  24. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  25. package/dist/cjs/Exit.js +3 -9
  26. package/dist/cjs/Exit.js.map +1 -1
  27. package/dist/cjs/Fiber.js +2 -8
  28. package/dist/cjs/Fiber.js.map +1 -1
  29. package/dist/cjs/FiberHandle.js +288 -0
  30. package/dist/cjs/FiberHandle.js.map +1 -0
  31. package/dist/cjs/FiberMap.js +86 -27
  32. package/dist/cjs/FiberMap.js.map +1 -1
  33. package/dist/cjs/FiberRefs.js.map +1 -1
  34. package/dist/cjs/FiberSet.js +51 -15
  35. package/dist/cjs/FiberSet.js.map +1 -1
  36. package/dist/cjs/HashMap.js.map +1 -1
  37. package/dist/cjs/HashSet.js.map +1 -1
  38. package/dist/cjs/Iterable.js +40 -5
  39. package/dist/cjs/Iterable.js.map +1 -1
  40. package/dist/cjs/Layer.js.map +1 -1
  41. package/dist/cjs/List.js +8 -7
  42. package/dist/cjs/List.js.map +1 -1
  43. package/dist/cjs/Metric.js +3 -1
  44. package/dist/cjs/Metric.js.map +1 -1
  45. package/dist/cjs/MetricKey.js.map +1 -1
  46. package/dist/cjs/MetricKeyType.js.map +1 -1
  47. package/dist/cjs/MutableHashMap.js +0 -4
  48. package/dist/cjs/MutableHashMap.js.map +1 -1
  49. package/dist/cjs/Option.js +3 -6
  50. package/dist/cjs/Option.js.map +1 -1
  51. package/dist/cjs/Readable.js +79 -0
  52. package/dist/cjs/Readable.js.map +1 -0
  53. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  54. package/dist/cjs/Record.js.map +1 -0
  55. package/dist/cjs/RegExp.js +24 -0
  56. package/dist/cjs/RegExp.js.map +1 -0
  57. package/dist/cjs/STM.js +4 -10
  58. package/dist/cjs/STM.js.map +1 -1
  59. package/dist/cjs/Schedule.js +2 -2
  60. package/dist/cjs/Schedule.js.map +1 -1
  61. package/dist/cjs/ScopedCache.js.map +1 -1
  62. package/dist/cjs/Stream.js +3 -9
  63. package/dist/cjs/Stream.js.map +1 -1
  64. package/dist/cjs/StreamHaltStrategy.js +2 -0
  65. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  66. package/dist/cjs/String.js +44 -2
  67. package/dist/cjs/String.js.map +1 -1
  68. package/dist/cjs/Subscribable.js +91 -0
  69. package/dist/cjs/Subscribable.js.map +1 -0
  70. package/dist/cjs/SubscriptionRef.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +2 -1
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +3 -3
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/Tracer.js.map +1 -1
  78. package/dist/cjs/index.js +14 -6
  79. package/dist/cjs/index.js.map +1 -1
  80. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  81. package/dist/cjs/internal/array.js.map +1 -0
  82. package/dist/cjs/internal/cache.js +3 -3
  83. package/dist/cjs/internal/cache.js.map +1 -1
  84. package/dist/cjs/internal/cause.js +6 -5
  85. package/dist/cjs/internal/cause.js.map +1 -1
  86. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  87. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  88. package/dist/cjs/internal/channel/channelState.js +1 -1
  89. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  90. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  91. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  92. package/dist/cjs/internal/channel.js +10 -10
  93. package/dist/cjs/internal/channel.js.map +1 -1
  94. package/dist/cjs/internal/clock.js +2 -2
  95. package/dist/cjs/internal/clock.js.map +1 -1
  96. package/dist/cjs/internal/configError.js +20 -19
  97. package/dist/cjs/internal/configError.js.map +1 -1
  98. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  99. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  100. package/dist/cjs/internal/configProvider.js +48 -49
  101. package/dist/cjs/internal/configProvider.js.map +1 -1
  102. package/dist/cjs/internal/core-effect.js +68 -40
  103. package/dist/cjs/internal/core-effect.js.map +1 -1
  104. package/dist/cjs/internal/core-stream.js +2 -3
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +41 -114
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/dataSource.js +19 -2
  109. package/dist/cjs/internal/dataSource.js.map +1 -1
  110. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  111. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  112. package/dist/cjs/internal/effect/circular.js +6 -1
  113. package/dist/cjs/internal/effect/circular.js.map +1 -1
  114. package/dist/cjs/internal/errors.js +13 -0
  115. package/dist/cjs/internal/errors.js.map +1 -0
  116. package/dist/cjs/internal/executionStrategy.js +4 -4
  117. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  118. package/dist/cjs/internal/fiber.js +5 -6
  119. package/dist/cjs/internal/fiber.js.map +1 -1
  120. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  121. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  122. package/dist/cjs/internal/fiberRefs.js +1 -1
  123. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  124. package/dist/cjs/internal/fiberRuntime.js +106 -66
  125. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  126. package/dist/cjs/internal/groupBy.js +3 -3
  127. package/dist/cjs/internal/groupBy.js.map +1 -1
  128. package/dist/cjs/internal/hashMap.js +1 -1
  129. package/dist/cjs/internal/hashMap.js.map +1 -1
  130. package/dist/cjs/internal/hashSet.js.map +1 -1
  131. package/dist/cjs/internal/layer/circular.js.map +1 -1
  132. package/dist/cjs/internal/layer.js +5 -5
  133. package/dist/cjs/internal/layer.js.map +1 -1
  134. package/dist/cjs/internal/logger.js +28 -8
  135. package/dist/cjs/internal/logger.js.map +1 -1
  136. package/dist/cjs/internal/managedRuntime.js +1 -1
  137. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  138. package/dist/cjs/internal/matcher.js +5 -4
  139. package/dist/cjs/internal/matcher.js.map +1 -1
  140. package/dist/cjs/internal/metric/boundaries.js +4 -4
  141. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  142. package/dist/cjs/internal/metric/hook.js +20 -17
  143. package/dist/cjs/internal/metric/hook.js.map +1 -1
  144. package/dist/cjs/internal/metric/key.js +4 -4
  145. package/dist/cjs/internal/metric/key.js.map +1 -1
  146. package/dist/cjs/internal/metric/keyType.js +6 -1
  147. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  148. package/dist/cjs/internal/metric/state.js +4 -4
  149. package/dist/cjs/internal/metric/state.js.map +1 -1
  150. package/dist/cjs/internal/metric.js +4 -4
  151. package/dist/cjs/internal/metric.js.map +1 -1
  152. package/dist/cjs/internal/pool.js +11 -11
  153. package/dist/cjs/internal/pool.js.map +1 -1
  154. package/dist/cjs/internal/pubsub.js +5 -5
  155. package/dist/cjs/internal/pubsub.js.map +1 -1
  156. package/dist/cjs/internal/query.js +2 -2
  157. package/dist/cjs/internal/query.js.map +1 -1
  158. package/dist/cjs/internal/queue.js +9 -9
  159. package/dist/cjs/internal/queue.js.map +1 -1
  160. package/dist/cjs/internal/rateLimiter.js +1 -1
  161. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  162. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  163. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  164. package/dist/cjs/internal/ref.js +6 -1
  165. package/dist/cjs/internal/ref.js.map +1 -1
  166. package/dist/cjs/internal/reloadable.js +1 -1
  167. package/dist/cjs/internal/reloadable.js.map +1 -1
  168. package/dist/cjs/internal/runtime.js +4 -4
  169. package/dist/cjs/internal/runtime.js.map +1 -1
  170. package/dist/cjs/internal/schedule/intervals.js +2 -1
  171. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  172. package/dist/cjs/internal/schedule.js +5 -5
  173. package/dist/cjs/internal/schedule.js.map +1 -1
  174. package/dist/cjs/internal/scopedCache.js +7 -7
  175. package/dist/cjs/internal/scopedCache.js.map +1 -1
  176. package/dist/cjs/internal/scopedRef.js +4 -4
  177. package/dist/cjs/internal/scopedRef.js.map +1 -1
  178. package/dist/cjs/internal/secret.js +2 -2
  179. package/dist/cjs/internal/secret.js.map +1 -1
  180. package/dist/cjs/internal/sink.js +10 -10
  181. package/dist/cjs/internal/sink.js.map +1 -1
  182. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  183. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  184. package/dist/cjs/internal/stm/stm.js +11 -11
  185. package/dist/cjs/internal/stm/stm.js.map +1 -1
  186. package/dist/cjs/internal/stm/tMap.js +3 -3
  187. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  188. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  189. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  190. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  191. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  192. package/dist/cjs/internal/stm/tQueue.js +3 -3
  193. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  194. package/dist/cjs/internal/stm/tSet.js +1 -1
  195. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  196. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  197. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  198. package/dist/cjs/internal/stream.js +84 -85
  199. package/dist/cjs/internal/stream.js.map +1 -1
  200. package/dist/cjs/internal/subscriptionRef.js +8 -0
  201. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  202. package/dist/cjs/internal/supervisor.js +1 -1
  203. package/dist/cjs/internal/supervisor.js.map +1 -1
  204. package/dist/cjs/internal/take.js +1 -1
  205. package/dist/cjs/internal/take.js.map +1 -1
  206. package/dist/cjs/internal/tracer.js.map +1 -1
  207. package/dist/cjs/internal/trie.js +1 -1
  208. package/dist/cjs/internal/trie.js.map +1 -1
  209. package/dist/cjs/internal/version.js +1 -1
  210. package/dist/cjs/internal/version.js.map +1 -1
  211. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
  212. package/dist/dts/Array.d.ts.map +1 -0
  213. package/dist/dts/BigDecimal.d.ts.map +1 -1
  214. package/dist/dts/BigInt.d.ts.map +1 -1
  215. package/dist/dts/Brand.d.ts +1 -19
  216. package/dist/dts/Brand.d.ts.map +1 -1
  217. package/dist/dts/Cache.d.ts +10 -10
  218. package/dist/dts/Cache.d.ts.map +1 -1
  219. package/dist/dts/Cause.d.ts +1 -1
  220. package/dist/dts/Cause.d.ts.map +1 -1
  221. package/dist/dts/Channel.d.ts +6 -4
  222. package/dist/dts/Channel.d.ts.map +1 -1
  223. package/dist/dts/Chunk.d.ts +1 -4
  224. package/dist/dts/Chunk.d.ts.map +1 -1
  225. package/dist/dts/ConfigError.d.ts +7 -6
  226. package/dist/dts/ConfigError.d.ts.map +1 -1
  227. package/dist/dts/Cron.d.ts +0 -5
  228. package/dist/dts/Cron.d.ts.map +1 -1
  229. package/dist/dts/Duration.d.ts +16 -0
  230. package/dist/dts/Duration.d.ts.map +1 -1
  231. package/dist/dts/Effect.d.ts +38 -33
  232. package/dist/dts/Effect.d.ts.map +1 -1
  233. package/dist/dts/Either.d.ts +5 -2
  234. package/dist/dts/Either.d.ts.map +1 -1
  235. package/dist/dts/Encoding.d.ts.map +1 -1
  236. package/dist/dts/Equivalence.d.ts.map +1 -1
  237. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  238. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  239. package/dist/dts/Exit.d.ts +4 -3
  240. package/dist/dts/Exit.d.ts.map +1 -1
  241. package/dist/dts/Fiber.d.ts +4 -2
  242. package/dist/dts/Fiber.d.ts.map +1 -1
  243. package/dist/dts/FiberHandle.d.ts +189 -0
  244. package/dist/dts/FiberHandle.d.ts.map +1 -0
  245. package/dist/dts/FiberMap.d.ts +48 -12
  246. package/dist/dts/FiberMap.d.ts.map +1 -1
  247. package/dist/dts/FiberRefs.d.ts +1 -1
  248. package/dist/dts/FiberRefs.d.ts.map +1 -1
  249. package/dist/dts/FiberSet.d.ts +9 -5
  250. package/dist/dts/FiberSet.d.ts.map +1 -1
  251. package/dist/dts/Function.d.ts.map +1 -1
  252. package/dist/dts/GroupBy.d.ts +1 -1
  253. package/dist/dts/GroupBy.d.ts.map +1 -1
  254. package/dist/dts/HashMap.d.ts +0 -1
  255. package/dist/dts/HashMap.d.ts.map +1 -1
  256. package/dist/dts/HashSet.d.ts +0 -1
  257. package/dist/dts/HashSet.d.ts.map +1 -1
  258. package/dist/dts/Iterable.d.ts +12 -5
  259. package/dist/dts/Iterable.d.ts.map +1 -1
  260. package/dist/dts/Layer.d.ts +6 -6
  261. package/dist/dts/Layer.d.ts.map +1 -1
  262. package/dist/dts/List.d.ts +0 -11
  263. package/dist/dts/List.d.ts.map +1 -1
  264. package/dist/dts/Logger.d.ts +2 -2
  265. package/dist/dts/Logger.d.ts.map +1 -1
  266. package/dist/dts/Metric.d.ts +7 -2
  267. package/dist/dts/Metric.d.ts.map +1 -1
  268. package/dist/dts/MetricKey.d.ts +4 -1
  269. package/dist/dts/MetricKey.d.ts.map +1 -1
  270. package/dist/dts/MetricKeyType.d.ts +4 -1
  271. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  272. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  273. package/dist/dts/Option.d.ts +5 -3
  274. package/dist/dts/Option.d.ts.map +1 -1
  275. package/dist/dts/Order.d.ts.map +1 -1
  276. package/dist/dts/Readable.d.ts +55 -0
  277. package/dist/dts/Readable.d.ts.map +1 -0
  278. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  279. package/dist/dts/Record.d.ts.map +1 -0
  280. package/dist/dts/Ref.d.ts +2 -2
  281. package/dist/dts/Ref.d.ts.map +1 -1
  282. package/dist/dts/RegExp.d.ts +17 -0
  283. package/dist/dts/RegExp.d.ts.map +1 -0
  284. package/dist/dts/Request.d.ts +1 -1
  285. package/dist/dts/Request.d.ts.map +1 -1
  286. package/dist/dts/RequestResolver.d.ts +2 -2
  287. package/dist/dts/RequestResolver.d.ts.map +1 -1
  288. package/dist/dts/STM.d.ts +6 -4
  289. package/dist/dts/STM.d.ts.map +1 -1
  290. package/dist/dts/Schedule.d.ts +1 -1
  291. package/dist/dts/Scheduler.d.ts.map +1 -1
  292. package/dist/dts/ScopedCache.d.ts +9 -9
  293. package/dist/dts/ScopedCache.d.ts.map +1 -1
  294. package/dist/dts/SortedMap.d.ts.map +1 -1
  295. package/dist/dts/SortedSet.d.ts +1 -1
  296. package/dist/dts/SortedSet.d.ts.map +1 -1
  297. package/dist/dts/Stream.d.ts +8 -6
  298. package/dist/dts/Stream.d.ts.map +1 -1
  299. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  300. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  301. package/dist/dts/String.d.ts +25 -1
  302. package/dist/dts/String.d.ts.map +1 -1
  303. package/dist/dts/Subscribable.d.ts +59 -0
  304. package/dist/dts/Subscribable.d.ts.map +1 -0
  305. package/dist/dts/SubscriptionRef.d.ts +2 -2
  306. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  307. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  308. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  309. package/dist/dts/TestAnnotations.d.ts +0 -3
  310. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  311. package/dist/dts/TestClock.d.ts.map +1 -1
  312. package/dist/dts/TestLive.d.ts.map +1 -1
  313. package/dist/dts/TestServices.d.ts.map +1 -1
  314. package/dist/dts/TestSized.d.ts.map +1 -1
  315. package/dist/dts/Tracer.d.ts +12 -5
  316. package/dist/dts/Tracer.d.ts.map +1 -1
  317. package/dist/dts/Trie.d.ts +1 -1
  318. package/dist/dts/Trie.d.ts.map +1 -1
  319. package/dist/dts/Types.d.ts +0 -7
  320. package/dist/dts/Types.d.ts.map +1 -1
  321. package/dist/dts/index.d.ts +22 -4
  322. package/dist/dts/index.d.ts.map +1 -1
  323. package/dist/dts/internal/array.d.ts +5 -0
  324. package/dist/dts/internal/array.d.ts.map +1 -0
  325. package/dist/dts/internal/core-stream.d.ts +4 -0
  326. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  327. package/dist/dts/internal/core.d.ts +3 -1
  328. package/dist/dts/internal/core.d.ts.map +1 -1
  329. package/dist/dts/internal/errors.d.ts +5 -0
  330. package/dist/dts/internal/errors.d.ts.map +1 -0
  331. package/dist/dts/internal/fiber.d.ts +5 -1
  332. package/dist/dts/internal/fiber.d.ts.map +1 -1
  333. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  334. package/dist/dts/internal/logger.d.ts.map +1 -1
  335. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  336. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  337. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  338. package/dist/dts/internal/random.d.ts.map +1 -1
  339. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  340. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  341. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  342. package/dist/dts/internal/stm/stm.d.ts +3 -0
  343. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  344. package/dist/dts/internal/stream.d.ts +5 -1
  345. package/dist/dts/internal/stream.d.ts.map +1 -1
  346. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  347. package/dist/esm/Array.js.map +1 -0
  348. package/dist/esm/Brand.js +2 -2
  349. package/dist/esm/Brand.js.map +1 -1
  350. package/dist/esm/Channel.js +4 -2
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Chunk.js +4 -1
  353. package/dist/esm/Chunk.js.map +1 -1
  354. package/dist/esm/ConfigError.js.map +1 -1
  355. package/dist/esm/Cron.js +13 -13
  356. package/dist/esm/Cron.js.map +1 -1
  357. package/dist/esm/Duration.js +38 -1
  358. package/dist/esm/Duration.js.map +1 -1
  359. package/dist/esm/Effect.js +11 -2
  360. package/dist/esm/Effect.js.map +1 -1
  361. package/dist/esm/Either.js +4 -1
  362. package/dist/esm/Either.js.map +1 -1
  363. package/dist/esm/ExecutionStrategy.js.map +1 -1
  364. package/dist/esm/Exit.js +4 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js +3 -1
  367. package/dist/esm/Fiber.js.map +1 -1
  368. package/dist/esm/FiberHandle.js +247 -0
  369. package/dist/esm/FiberHandle.js.map +1 -0
  370. package/dist/esm/FiberMap.js +85 -26
  371. package/dist/esm/FiberMap.js.map +1 -1
  372. package/dist/esm/FiberRefs.js.map +1 -1
  373. package/dist/esm/FiberSet.js +51 -15
  374. package/dist/esm/FiberSet.js.map +1 -1
  375. package/dist/esm/HashMap.js.map +1 -1
  376. package/dist/esm/HashSet.js.map +1 -1
  377. package/dist/esm/Iterable.js +39 -4
  378. package/dist/esm/Iterable.js.map +1 -1
  379. package/dist/esm/Layer.js.map +1 -1
  380. package/dist/esm/List.js +7 -6
  381. package/dist/esm/List.js.map +1 -1
  382. package/dist/esm/Metric.js +3 -1
  383. package/dist/esm/Metric.js.map +1 -1
  384. package/dist/esm/MetricKey.js.map +1 -1
  385. package/dist/esm/MetricKeyType.js.map +1 -1
  386. package/dist/esm/MutableHashMap.js +0 -3
  387. package/dist/esm/MutableHashMap.js.map +1 -1
  388. package/dist/esm/Option.js +4 -2
  389. package/dist/esm/Option.js.map +1 -1
  390. package/dist/esm/Readable.js +45 -0
  391. package/dist/esm/Readable.js.map +1 -0
  392. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  393. package/dist/esm/Record.js.map +1 -0
  394. package/dist/esm/RegExp.js +17 -0
  395. package/dist/esm/RegExp.js.map +1 -0
  396. package/dist/esm/STM.js +5 -3
  397. package/dist/esm/STM.js.map +1 -1
  398. package/dist/esm/Schedule.js +1 -1
  399. package/dist/esm/Schedule.js.map +1 -1
  400. package/dist/esm/ScopedCache.js.map +1 -1
  401. package/dist/esm/Stream.js +5 -3
  402. package/dist/esm/Stream.js.map +1 -1
  403. package/dist/esm/StreamHaltStrategy.js +2 -0
  404. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  405. package/dist/esm/String.js +37 -1
  406. package/dist/esm/String.js.map +1 -1
  407. package/dist/esm/Subscribable.js +56 -0
  408. package/dist/esm/Subscribable.js.map +1 -0
  409. package/dist/esm/SubscriptionRef.js.map +1 -1
  410. package/dist/esm/TestAnnotation.js +2 -1
  411. package/dist/esm/TestAnnotation.js.map +1 -1
  412. package/dist/esm/TestAnnotations.js +1 -1
  413. package/dist/esm/TestAnnotations.js.map +1 -1
  414. package/dist/esm/TestClock.js +3 -3
  415. package/dist/esm/TestClock.js.map +1 -1
  416. package/dist/esm/Tracer.js.map +1 -1
  417. package/dist/esm/index.js +22 -4
  418. package/dist/esm/index.js.map +1 -1
  419. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  420. package/dist/esm/internal/array.js.map +1 -0
  421. package/dist/esm/internal/cache.js +3 -3
  422. package/dist/esm/internal/cache.js.map +1 -1
  423. package/dist/esm/internal/cause.js +6 -5
  424. package/dist/esm/internal/cause.js.map +1 -1
  425. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  426. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  427. package/dist/esm/internal/channel/channelState.js +1 -1
  428. package/dist/esm/internal/channel/channelState.js.map +1 -1
  429. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  430. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  431. package/dist/esm/internal/channel.js +8 -8
  432. package/dist/esm/internal/channel.js.map +1 -1
  433. package/dist/esm/internal/clock.js +2 -2
  434. package/dist/esm/internal/clock.js.map +1 -1
  435. package/dist/esm/internal/configError.js +20 -19
  436. package/dist/esm/internal/configError.js.map +1 -1
  437. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  438. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  439. package/dist/esm/internal/configProvider.js +48 -49
  440. package/dist/esm/internal/configProvider.js.map +1 -1
  441. package/dist/esm/internal/core-effect.js +64 -38
  442. package/dist/esm/internal/core-effect.js.map +1 -1
  443. package/dist/esm/internal/core-stream.js +3 -2
  444. package/dist/esm/internal/core-stream.js.map +1 -1
  445. package/dist/esm/internal/core.js +37 -108
  446. package/dist/esm/internal/core.js.map +1 -1
  447. package/dist/esm/internal/dataSource.js +19 -2
  448. package/dist/esm/internal/dataSource.js.map +1 -1
  449. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  450. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  451. package/dist/esm/internal/effect/circular.js +6 -1
  452. package/dist/esm/internal/effect/circular.js.map +1 -1
  453. package/dist/esm/internal/errors.js +6 -0
  454. package/dist/esm/internal/errors.js.map +1 -0
  455. package/dist/esm/internal/executionStrategy.js +4 -4
  456. package/dist/esm/internal/executionStrategy.js.map +1 -1
  457. package/dist/esm/internal/fiber.js +6 -5
  458. package/dist/esm/internal/fiber.js.map +1 -1
  459. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  460. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  461. package/dist/esm/internal/fiberRefs.js +1 -1
  462. package/dist/esm/internal/fiberRefs.js.map +1 -1
  463. package/dist/esm/internal/fiberRuntime.js +104 -63
  464. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  465. package/dist/esm/internal/groupBy.js +3 -3
  466. package/dist/esm/internal/groupBy.js.map +1 -1
  467. package/dist/esm/internal/hashMap.js +1 -1
  468. package/dist/esm/internal/hashMap.js.map +1 -1
  469. package/dist/esm/internal/hashSet.js.map +1 -1
  470. package/dist/esm/internal/layer/circular.js.map +1 -1
  471. package/dist/esm/internal/layer.js +5 -5
  472. package/dist/esm/internal/layer.js.map +1 -1
  473. package/dist/esm/internal/logger.js +28 -8
  474. package/dist/esm/internal/logger.js.map +1 -1
  475. package/dist/esm/internal/managedRuntime.js +1 -1
  476. package/dist/esm/internal/managedRuntime.js.map +1 -1
  477. package/dist/esm/internal/matcher.js +4 -3
  478. package/dist/esm/internal/matcher.js.map +1 -1
  479. package/dist/esm/internal/metric/boundaries.js +4 -4
  480. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  481. package/dist/esm/internal/metric/hook.js +20 -17
  482. package/dist/esm/internal/metric/hook.js.map +1 -1
  483. package/dist/esm/internal/metric/key.js +4 -4
  484. package/dist/esm/internal/metric/key.js.map +1 -1
  485. package/dist/esm/internal/metric/keyType.js +5 -1
  486. package/dist/esm/internal/metric/keyType.js.map +1 -1
  487. package/dist/esm/internal/metric/state.js +4 -4
  488. package/dist/esm/internal/metric/state.js.map +1 -1
  489. package/dist/esm/internal/metric.js +4 -4
  490. package/dist/esm/internal/metric.js.map +1 -1
  491. package/dist/esm/internal/pool.js +11 -11
  492. package/dist/esm/internal/pool.js.map +1 -1
  493. package/dist/esm/internal/pubsub.js +5 -5
  494. package/dist/esm/internal/pubsub.js.map +1 -1
  495. package/dist/esm/internal/query.js +2 -2
  496. package/dist/esm/internal/query.js.map +1 -1
  497. package/dist/esm/internal/queue.js +9 -9
  498. package/dist/esm/internal/queue.js.map +1 -1
  499. package/dist/esm/internal/rateLimiter.js +1 -1
  500. package/dist/esm/internal/rateLimiter.js.map +1 -1
  501. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  502. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  503. package/dist/esm/internal/ref.js +6 -1
  504. package/dist/esm/internal/ref.js.map +1 -1
  505. package/dist/esm/internal/reloadable.js +1 -1
  506. package/dist/esm/internal/reloadable.js.map +1 -1
  507. package/dist/esm/internal/runtime.js +4 -4
  508. package/dist/esm/internal/runtime.js.map +1 -1
  509. package/dist/esm/internal/schedule/intervals.js +2 -1
  510. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  511. package/dist/esm/internal/schedule.js +3 -3
  512. package/dist/esm/internal/schedule.js.map +1 -1
  513. package/dist/esm/internal/scopedCache.js +7 -7
  514. package/dist/esm/internal/scopedCache.js.map +1 -1
  515. package/dist/esm/internal/scopedRef.js +4 -4
  516. package/dist/esm/internal/scopedRef.js.map +1 -1
  517. package/dist/esm/internal/secret.js +2 -2
  518. package/dist/esm/internal/secret.js.map +1 -1
  519. package/dist/esm/internal/sink.js +10 -10
  520. package/dist/esm/internal/sink.js.map +1 -1
  521. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  522. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  523. package/dist/esm/internal/stm/stm.js +11 -9
  524. package/dist/esm/internal/stm/stm.js.map +1 -1
  525. package/dist/esm/internal/stm/tMap.js +3 -3
  526. package/dist/esm/internal/stm/tMap.js.map +1 -1
  527. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  528. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  529. package/dist/esm/internal/stm/tPubSub.js +3 -3
  530. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  531. package/dist/esm/internal/stm/tQueue.js +3 -3
  532. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  533. package/dist/esm/internal/stm/tSet.js +1 -1
  534. package/dist/esm/internal/stm/tSet.js.map +1 -1
  535. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  536. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  537. package/dist/esm/internal/stream.js +85 -84
  538. package/dist/esm/internal/stream.js.map +1 -1
  539. package/dist/esm/internal/subscriptionRef.js +8 -0
  540. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  541. package/dist/esm/internal/supervisor.js +1 -1
  542. package/dist/esm/internal/supervisor.js.map +1 -1
  543. package/dist/esm/internal/take.js +1 -1
  544. package/dist/esm/internal/take.js.map +1 -1
  545. package/dist/esm/internal/tracer.js.map +1 -1
  546. package/dist/esm/internal/trie.js +1 -1
  547. package/dist/esm/internal/trie.js.map +1 -1
  548. package/dist/esm/internal/version.js +1 -1
  549. package/dist/esm/internal/version.js.map +1 -1
  550. package/package.json +45 -13
  551. package/src/{ReadonlyArray.ts → Array.ts} +47 -24
  552. package/src/Brand.ts +3 -3
  553. package/src/Cache.ts +12 -10
  554. package/src/Cause.ts +1 -1
  555. package/src/Channel.ts +12 -9
  556. package/src/Chunk.ts +3 -3
  557. package/src/ConfigError.ts +7 -6
  558. package/src/Cron.ts +17 -17
  559. package/src/Duration.ts +54 -1
  560. package/src/Effect.ts +46 -57
  561. package/src/Either.ts +7 -7
  562. package/src/ExecutionStrategy.ts +10 -2
  563. package/src/Exit.ts +11 -9
  564. package/src/Fiber.ts +11 -8
  565. package/src/FiberHandle.ts +414 -0
  566. package/src/FiberMap.ts +181 -73
  567. package/src/FiberRefs.ts +1 -1
  568. package/src/FiberSet.ts +96 -36
  569. package/src/GroupBy.ts +1 -1
  570. package/src/HashMap.ts +0 -1
  571. package/src/HashSet.ts +0 -1
  572. package/src/Iterable.ts +48 -10
  573. package/src/Layer.ts +6 -6
  574. package/src/List.ts +8 -7
  575. package/src/Logger.ts +2 -2
  576. package/src/Metric.ts +9 -2
  577. package/src/MetricKey.ts +9 -1
  578. package/src/MetricKeyType.ts +6 -1
  579. package/src/MutableHashMap.ts +1 -1
  580. package/src/Option.ts +9 -6
  581. package/src/Readable.ts +92 -0
  582. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  583. package/src/Ref.ts +2 -2
  584. package/src/RegExp.ts +17 -0
  585. package/src/Request.ts +1 -1
  586. package/src/RequestResolver.ts +4 -4
  587. package/src/STM.ts +12 -9
  588. package/src/Schedule.ts +1 -1
  589. package/src/ScopedCache.ts +11 -9
  590. package/src/SortedSet.ts +1 -1
  591. package/src/Stream.ts +14 -11
  592. package/src/StreamHaltStrategy.ts +14 -2
  593. package/src/String.ts +45 -2
  594. package/src/Subscribable.ts +99 -0
  595. package/src/SubscriptionRef.ts +2 -2
  596. package/src/TestAnnotation.ts +2 -1
  597. package/src/TestAnnotations.ts +1 -1
  598. package/src/TestClock.ts +3 -3
  599. package/src/Tracer.ts +13 -5
  600. package/src/Trie.ts +1 -1
  601. package/src/Types.ts +0 -8
  602. package/src/index.ts +26 -4
  603. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  604. package/src/internal/cache.ts +40 -40
  605. package/src/internal/cause.ts +8 -8
  606. package/src/internal/channel/channelExecutor.ts +15 -15
  607. package/src/internal/channel/channelState.ts +1 -1
  608. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  609. package/src/internal/channel.ts +11 -11
  610. package/src/internal/clock.ts +2 -2
  611. package/src/internal/configError.ts +22 -21
  612. package/src/internal/configProvider/pathPatch.ts +1 -1
  613. package/src/internal/configProvider.ts +51 -55
  614. package/src/internal/core-effect.ts +149 -134
  615. package/src/internal/core-stream.ts +5 -2
  616. package/src/internal/core.ts +64 -200
  617. package/src/internal/dataSource.ts +19 -20
  618. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  619. package/src/internal/effect/circular.ts +9 -3
  620. package/src/internal/errors.ts +7 -0
  621. package/src/internal/executionStrategy.ts +14 -12
  622. package/src/internal/fiber.ts +8 -5
  623. package/src/internal/fiberRefs/patch.ts +1 -1
  624. package/src/internal/fiberRefs.ts +1 -1
  625. package/src/internal/fiberRuntime.ts +157 -123
  626. package/src/internal/groupBy.ts +4 -4
  627. package/src/internal/hashMap.ts +1 -2
  628. package/src/internal/hashSet.ts +0 -1
  629. package/src/internal/layer/circular.ts +2 -2
  630. package/src/internal/layer.ts +9 -9
  631. package/src/internal/logger.ts +28 -8
  632. package/src/internal/managedRuntime.ts +1 -1
  633. package/src/internal/matcher.ts +5 -3
  634. package/src/internal/metric/boundaries.ts +5 -5
  635. package/src/internal/metric/hook.ts +21 -18
  636. package/src/internal/metric/key.ts +8 -5
  637. package/src/internal/metric/keyType.ts +5 -2
  638. package/src/internal/metric/state.ts +5 -5
  639. package/src/internal/metric.ts +8 -6
  640. package/src/internal/pool.ts +11 -11
  641. package/src/internal/pubsub.ts +6 -6
  642. package/src/internal/query.ts +4 -4
  643. package/src/internal/queue.ts +11 -11
  644. package/src/internal/rateLimiter.ts +1 -1
  645. package/src/internal/redBlackTree/iterator.ts +2 -2
  646. package/src/internal/ref.ts +8 -2
  647. package/src/internal/reloadable.ts +1 -1
  648. package/src/internal/runtime.ts +5 -5
  649. package/src/internal/schedule/intervals.ts +2 -1
  650. package/src/internal/schedule.ts +8 -9
  651. package/src/internal/scopedCache.ts +53 -53
  652. package/src/internal/scopedRef.ts +4 -4
  653. package/src/internal/secret.ts +2 -2
  654. package/src/internal/sink.ts +10 -10
  655. package/src/internal/stm/stm/tExit.ts +5 -2
  656. package/src/internal/stm/stm.ts +13 -9
  657. package/src/internal/stm/tMap.ts +3 -3
  658. package/src/internal/stm/tPriorityQueue.ts +11 -11
  659. package/src/internal/stm/tPubSub.ts +3 -3
  660. package/src/internal/stm/tQueue.ts +3 -3
  661. package/src/internal/stm/tSet.ts +1 -1
  662. package/src/internal/stream/haltStrategy.ts +23 -14
  663. package/src/internal/stream.ts +91 -88
  664. package/src/internal/subscriptionRef.ts +8 -0
  665. package/src/internal/supervisor.ts +1 -1
  666. package/src/internal/take.ts +1 -1
  667. package/src/internal/tracer.ts +2 -2
  668. package/src/internal/trie.ts +1 -2
  669. package/src/internal/version.ts +1 -1
  670. package/ReadonlyArray/package.json +0 -6
  671. package/ReadonlyRecord/package.json +0 -6
  672. package/dist/cjs/ReadonlyArray.js.map +0 -1
  673. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  674. package/dist/cjs/internal/Iterable.js +0 -61
  675. package/dist/cjs/internal/Iterable.js.map +0 -1
  676. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  677. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  678. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  679. package/dist/dts/internal/Iterable.d.ts +0 -2
  680. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  681. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  682. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  683. package/dist/esm/ReadonlyArray.js.map +0 -1
  684. package/dist/esm/ReadonlyRecord.js.map +0 -1
  685. package/dist/esm/internal/Iterable.js +0 -53
  686. package/dist/esm/internal/Iterable.js.map +0 -1
  687. package/dist/esm/internal/readonlyArray.js.map +0 -1
  688. package/src/internal/Iterable.ts +0 -54
@@ -1,3 +1,4 @@
1
+ import * as Array from "../Array.js"
1
2
  import * as Chunk from "../Chunk.js"
2
3
  import type * as Deferred from "../Deferred.js"
3
4
  import type * as Effect from "../Effect.js"
@@ -8,7 +9,6 @@ import * as Option from "../Option.js"
8
9
  import { pipeArguments } from "../Pipeable.js"
9
10
  import { hasProperty } from "../Predicate.js"
10
11
  import type * as Queue from "../Queue.js"
11
- import * as ReadonlyArray from "../ReadonlyArray.js"
12
12
  import * as core from "./core.js"
13
13
  import * as fiberRuntime from "./fiberRuntime.js"
14
14
 
@@ -125,7 +125,7 @@ class QueueImpl<in out A> implements Queue.Queue<A> {
125
125
  ),
126
126
  core.zipRight(this.strategy.shutdown),
127
127
  core.whenEffect(core.deferredSucceed(this.shutdownHook, void 0)),
128
- core.asUnit
128
+ core.asVoid
129
129
  )
130
130
  })
131
131
  )
@@ -208,11 +208,11 @@ class QueueImpl<in out A> implements Queue.Queue<A> {
208
208
  if (MutableRef.get(this.shutdownFlag)) {
209
209
  return core.interrupt
210
210
  }
211
- const values = ReadonlyArray.fromIterable(iterable)
211
+ const values = Array.fromIterable(iterable)
212
212
  const pTakers = this.queue.length() === 0
213
- ? ReadonlyArray.fromIterable(unsafePollN(this.takers, values.length))
214
- : ReadonlyArray.empty
215
- const [forTakers, remaining] = pipe(values, ReadonlyArray.splitAt(pTakers.length))
213
+ ? Array.fromIterable(unsafePollN(this.takers, values.length))
214
+ : Array.empty
215
+ const [forTakers, remaining] = pipe(values, Array.splitAt(pTakers.length))
216
216
  for (let i = 0; i < pTakers.length; i++) {
217
217
  const taker = (pTakers as any)[i]
218
218
  const item = forTakers[i]
@@ -548,9 +548,9 @@ class BackPressureStrategy<in out A> implements Queue.Strategy<A> {
548
548
  isLastItem ?
549
549
  pipe(
550
550
  core.deferredInterruptWith(deferred, fiberId),
551
- core.asUnit
551
+ core.asVoid
552
552
  ) :
553
- core.unit,
553
+ core.void,
554
554
  false,
555
555
  false
556
556
  )
@@ -602,7 +602,7 @@ class BackPressureStrategy<in out A> implements Queue.Strategy<A> {
602
602
  }
603
603
 
604
604
  unsafeOffer(iterable: Iterable<A>, deferred: Deferred.Deferred<boolean>): void {
605
- const stuff = Array.from(iterable)
605
+ const stuff = Array.fromIterable(iterable)
606
606
  for (let i = 0; i < stuff.length; i++) {
607
607
  const value = stuff[i]
608
608
  if (i === stuff.length - 1) {
@@ -630,7 +630,7 @@ class DroppingStrategy<in out A> implements Queue.Strategy<A> {
630
630
  }
631
631
 
632
632
  get shutdown(): Effect.Effect<void> {
633
- return core.unit
633
+ return core.void
634
634
  }
635
635
 
636
636
  onCompleteTakersWithEmptyQueue(): void {
@@ -662,7 +662,7 @@ class SlidingStrategy<in out A> implements Queue.Strategy<A> {
662
662
  }
663
663
 
664
664
  get shutdown(): Effect.Effect<void> {
665
- return core.unit
665
+ return core.void
666
666
  }
667
667
 
668
668
  onCompleteTakersWithEmptyQueue(): void {
@@ -38,7 +38,7 @@ const tokenBucket = (limit: number, window: DurationInput): Effect.Effect<
38
38
  const refill: Effect.Effect<void> = Effect.sleep(millisPerToken).pipe(
39
39
  Effect.zipRight(latch.releaseAll),
40
40
  Effect.zipRight(semaphore.release(1)),
41
- Effect.flatMap((free) => free === limit ? Effect.unit : refill)
41
+ Effect.flatMap((free) => free === limit ? Effect.void : refill)
42
42
  )
43
43
  yield* _(
44
44
  latch.take(1),
@@ -1,5 +1,5 @@
1
+ import * as Array from "../../Array.js"
1
2
  import * as Option from "../../Option.js"
2
- import * as ReadonlyArray from "../../ReadonlyArray.js"
3
3
  import type * as RBT from "../../RedBlackTree.js"
4
4
  import type { RedBlackTreeImpl } from "../redBlackTree.js"
5
5
  import type * as Node from "./node.js"
@@ -83,7 +83,7 @@ export class RedBlackTreeIterator<in out K, out V> implements Iterator<[K, V]> {
83
83
  * Returns the key
84
84
  */
85
85
  get entry(): Option.Option<[K, V]> {
86
- return Option.map(ReadonlyArray.last(this.stack), (node) => [node.key, node.value])
86
+ return Option.map(Array.last(this.stack), (node) => [node.key, node.value])
87
87
  }
88
88
 
89
89
  /**
@@ -3,6 +3,7 @@ import { dual } from "../Function.js"
3
3
  import * as MutableRef from "../MutableRef.js"
4
4
  import * as Option from "../Option.js"
5
5
  import { pipeArguments } from "../Pipeable.js"
6
+ import * as Readable from "../Readable.js"
6
7
  import type * as Ref from "../Ref.js"
7
8
  import * as core from "./core.js"
8
9
 
@@ -17,7 +18,12 @@ export const refVariance = {
17
18
 
18
19
  class RefImpl<in out A> implements Ref.Ref<A> {
19
20
  readonly [RefTypeId] = refVariance
20
- constructor(readonly ref: MutableRef.MutableRef<A>) {}
21
+ readonly [Readable.TypeId]: Readable.TypeId
22
+ constructor(readonly ref: MutableRef.MutableRef<A>) {
23
+ this[Readable.TypeId] = Readable.TypeId
24
+ this.get = core.sync(() => MutableRef.get(this.ref))
25
+ }
26
+ readonly get: Effect.Effect<A>
21
27
  modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<B> {
22
28
  return core.sync(() => {
23
29
  const current = MutableRef.get(this.ref)
@@ -40,7 +46,7 @@ export const unsafeMake = <A>(value: A): Ref.Ref<A> => new RefImpl(MutableRef.ma
40
46
  export const make = <A>(value: A): Effect.Effect<Ref.Ref<A>> => core.sync(() => unsafeMake(value))
41
47
 
42
48
  /** @internal */
43
- export const get = <A>(self: Ref.Ref<A>) => self.modify((a) => [a, a])
49
+ export const get = <A>(self: Ref.Ref<A>) => self.get
44
50
 
45
51
  /** @internal */
46
52
  export const set = dual<
@@ -139,5 +139,5 @@ export const reloadFork = <T extends Context.Tag<any, any>>(
139
139
  reloadable.reload,
140
140
  effect.ignoreLogged,
141
141
  fiberRuntime.forkDaemon,
142
- core.asUnit
142
+ core.asVoid
143
143
  ))
@@ -1,4 +1,5 @@
1
1
  import { equals } from "effect/Equal"
2
+ import type * as ReadonlyArray from "../Array.js"
2
3
  import type * as Cause from "../Cause.js"
3
4
  import * as Context from "../Context.js"
4
5
  import type * as Effect from "../Effect.js"
@@ -12,7 +13,6 @@ import * as Inspectable from "../Inspectable.js"
12
13
  import * as Option from "../Option.js"
13
14
  import { pipeArguments } from "../Pipeable.js"
14
15
  import * as Predicate from "../Predicate.js"
15
- import type * as ReadonlyArray from "../ReadonlyArray.js"
16
16
  import type * as Runtime from "../Runtime.js"
17
17
  import type * as RuntimeFlags from "../RuntimeFlags.js"
18
18
  import * as _scheduler from "../Scheduler.js"
@@ -66,7 +66,7 @@ export const unsafeFork = <R>(runtime: Runtime.Runtime<R>) =>
66
66
  core.scopeAddFinalizer(
67
67
  closeableScope,
68
68
  core.fiberIdWith((id) =>
69
- equals(id, fiberRuntime.id()) ? core.unit : core.interruptAsFiber(fiberRuntime, id)
69
+ equals(id, fiberRuntime.id()) ? core.void : core.interruptAsFiber(fiberRuntime, id)
70
70
  )
71
71
  ),
72
72
  core.onExit(self, (exit) => _scope.close(closeableScope, exit))
@@ -135,7 +135,7 @@ class AsyncFiberExceptionImpl<A, E = never> extends Error implements Runtime.Asy
135
135
  readonly _tag = "AsyncFiberException"
136
136
  constructor(readonly fiber: Fiber.RuntimeFiber<A, E>) {
137
137
  super(
138
- `Fiber #${fiber.id().id} cannot be be resolved synchronously, this is caused by using runSync on an effect that performs async work`
138
+ `Fiber #${fiber.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`
139
139
  )
140
140
  this.name = this._tag
141
141
  this.stack = this.message
@@ -483,12 +483,12 @@ export const asyncEffect = <A, E, R, R3, E2, R2>(
483
483
  onFailure: (cause) => core.deferredFailCause(deferred, cause),
484
484
  onSuccess: (cleanup_) => {
485
485
  cleanup = cleanup_
486
- return core.unit
486
+ return core.void
487
487
  }
488
488
  }
489
489
  )
490
490
  )),
491
- restore(core.onInterrupt(core.deferredAwait(deferred), () => cleanup ?? core.unit))
491
+ restore(core.onInterrupt(core.deferredAwait(deferred), () => cleanup ?? core.void))
492
492
  )
493
493
  ))
494
494
  )
@@ -3,6 +3,7 @@ import { dual, pipe } from "../../Function.js"
3
3
  import * as Option from "../../Option.js"
4
4
  import * as Interval from "../../ScheduleInterval.js"
5
5
  import type * as Intervals from "../../ScheduleIntervals.js"
6
+ import { getBugErrorMessage } from "../errors.js"
6
7
 
7
8
  /** @internal */
8
9
  const IntervalsSymbolKey = "effect/ScheduleIntervals"
@@ -109,7 +110,7 @@ const unionLoop = (
109
110
  that = Chunk.tailNonEmpty(that)
110
111
  }
111
112
  } else {
112
- throw new Error("BUG: Intervals.unionLoop - please report an issue at https://github.com/Effect-TS/effect/issues")
113
+ throw new Error(getBugErrorMessage("Intervals.unionLoop"))
113
114
  }
114
115
  }
115
116
  return make(pipe(acc, Chunk.prepend(interval), Chunk.reverse))
@@ -18,7 +18,6 @@ import type * as Schedule from "../Schedule.js"
18
18
  import * as ScheduleDecision from "../ScheduleDecision.js"
19
19
  import * as Interval from "../ScheduleInterval.js"
20
20
  import * as Intervals from "../ScheduleIntervals.js"
21
- import type * as Types from "../Types.js"
22
21
  import * as internalCause from "./cause.js"
23
22
  import * as effect from "./core-effect.js"
24
23
  import * as core from "./core.js"
@@ -247,7 +246,7 @@ export const as = dual<
247
246
  >(2, (self, out) => map(self, () => out))
248
247
 
249
248
  /** @internal */
250
- export const asUnit = <Out, In, R>(
249
+ export const asVoid = <Out, In, R>(
251
250
  self: Schedule.Schedule<Out, In, R>
252
251
  ): Schedule.Schedule<void, In, R> => map(self, constVoid)
253
252
 
@@ -1903,7 +1902,7 @@ export const retry_combined: {
1903
1902
  self: Effect.Effect<A, E, R>
1904
1903
  ) => Effect.Retry.Return<R, E, A, O>
1905
1904
  <B, E, R1>(
1906
- policy: Schedule.Schedule<B, Types.NoInfer<E>, R1>
1905
+ policy: Schedule.Schedule<B, NoInfer<E>, R1>
1907
1906
  ): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R1 | R>
1908
1907
  <A, E, R, O extends Effect.Retry.Options<E>>(
1909
1908
  self: Effect.Effect<A, E, R>,
@@ -1949,13 +1948,13 @@ export const retry_combined: {
1949
1948
  /** @internal */
1950
1949
  export const retryOrElse_Effect = dual<
1951
1950
  <A1, E, R1, A2, E2, R2>(
1952
- policy: Schedule.Schedule<A1, Types.NoInfer<E>, R1>,
1953
- orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
1951
+ policy: Schedule.Schedule<A1, NoInfer<E>, R1>,
1952
+ orElse: (e: NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
1954
1953
  ) => <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2, R | R1 | R2>,
1955
1954
  <A, E, R, A1, R1, A2, E2, R2>(
1956
1955
  self: Effect.Effect<A, E, R>,
1957
- policy: Schedule.Schedule<A1, Types.NoInfer<E>, R1>,
1958
- orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
1956
+ policy: Schedule.Schedule<A1, NoInfer<E>, R1>,
1957
+ orElse: (e: NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
1959
1958
  ) => Effect.Effect<A | A2, E2, R | R1 | R2>
1960
1959
  >(3, (self, policy, orElse) =>
1961
1960
  core.flatMap(
@@ -2060,7 +2059,7 @@ export const elapsed: Schedule.Schedule<Duration.Duration> = makeWithState(
2060
2059
  export const forever: Schedule.Schedule<number> = unfold(0, (n) => n + 1)
2061
2060
 
2062
2061
  /** @internal */
2063
- export const once: Schedule.Schedule<void> = asUnit(recurs(1))
2062
+ export const once: Schedule.Schedule<void> = asVoid(recurs(1))
2064
2063
 
2065
2064
  /** @internal */
2066
- export const stop: Schedule.Schedule<void> = asUnit(recurs(0))
2065
+ export const stop: Schedule.Schedule<void> = asVoid(recurs(0))
@@ -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 => {