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
@@ -203,7 +203,7 @@ class MemoMapImpl implements Layer.MemoMap {
203
203
  acquire as Effect.Effect<readonly [FiberRefsPatch.FiberRefsPatch, Context.Context<ROut>], E>,
204
204
  core.flatMap(([patch, b]) => pipe(effect.patchFiberRefs(patch), core.as(b))),
205
205
  core.onExit(core.exitMatch({
206
- onFailure: () => core.unit,
206
+ onFailure: () => core.void,
207
207
  onSuccess: () => core.scopeAddFinalizerExit(scope, release)
208
208
  }))
209
209
  )
@@ -216,7 +216,7 @@ class MemoMapImpl implements Layer.MemoMap {
216
216
  core.deferredMake<readonly [FiberRefsPatch.FiberRefsPatch, Context.Context<ROut>], E>(),
217
217
  core.flatMap((deferred) =>
218
218
  pipe(
219
- ref.make<Scope.Scope.Finalizer>(() => core.unit),
219
+ ref.make<Scope.Scope.Finalizer>(() => core.void),
220
220
  core.map((finalizerRef) => {
221
221
  const resource = core.uninterruptibleMask((restore) =>
222
222
  pipe(
@@ -245,7 +245,7 @@ class MemoMapImpl implements Layer.MemoMap {
245
245
  core.whenEffect(
246
246
  ref.modify(observers, (n) => [n === 1, n - 1] as const)
247
247
  ),
248
- core.asUnit
248
+ core.asVoid
249
249
  )),
250
250
  core.zipRight(ref.update(observers, (n) => n + 1)),
251
251
  core.zipRight(
@@ -270,7 +270,7 @@ class MemoMapImpl implements Layer.MemoMap {
270
270
  pipe(
271
271
  core.deferredAwait(deferred),
272
272
  core.onExit(core.exitMatchEffect({
273
- onFailure: () => core.unit,
273
+ onFailure: () => core.void,
274
274
  onSuccess: () => ref.update(observers, (n) => n + 1)
275
275
  }))
276
276
  ),
@@ -1117,7 +1117,7 @@ export const withSpan = dual<
1117
1117
  (name: string, options?: {
1118
1118
  readonly attributes?: Record<string, unknown> | undefined
1119
1119
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
1120
- readonly parent?: Tracer.ParentSpan | undefined
1120
+ readonly parent?: Tracer.AnySpan | undefined
1121
1121
  readonly root?: boolean | undefined
1122
1122
  readonly context?: Context.Context<never> | undefined
1123
1123
  readonly onEnd?:
@@ -1127,7 +1127,7 @@ export const withSpan = dual<
1127
1127
  <A, E, R>(self: Layer.Layer<A, E, R>, name: string, options?: {
1128
1128
  readonly attributes?: Record<string, unknown> | undefined
1129
1129
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
1130
- readonly parent?: Tracer.ParentSpan | undefined
1130
+ readonly parent?: Tracer.AnySpan | undefined
1131
1131
  readonly root?: boolean | undefined
1132
1132
  readonly context?: Context.Context<never> | undefined
1133
1133
  readonly onEnd?:
@@ -1150,9 +1150,9 @@ export const withSpan = dual<
1150
1150
  /** @internal */
1151
1151
  export const withParentSpan = dual<
1152
1152
  (
1153
- span: Tracer.ParentSpan
1153
+ span: Tracer.AnySpan
1154
1154
  ) => <A, E, R>(self: Layer.Layer<A, E, R>) => Layer.Layer<A, E, Exclude<R, Tracer.ParentSpan>>,
1155
- <A, E, R>(self: Layer.Layer<A, E, R>, span: Tracer.ParentSpan) => Layer.Layer<A, E, Exclude<R, Tracer.ParentSpan>>
1155
+ <A, E, R>(self: Layer.Layer<A, E, R>, span: Tracer.AnySpan) => Layer.Layer<A, E, Exclude<R, Tracer.ParentSpan>>
1156
1156
  >(2, (self, span) => provide(self, succeedContext(Context.make(tracer.spanTag, span))))
1157
1157
 
1158
1158
  // circular with Effect
@@ -1197,7 +1197,7 @@ const provideSomeRuntime = dual<
1197
1197
  core.withFiberRuntime((fiber) => {
1198
1198
  fiber.setFiberRefs(FiberRefsPatch.patch(fiber.id(), fiber.getFiberRefs())(rollbackRefs))
1199
1199
  fiber._runtimeFlags = runtimeFlags.patch(rollbackFlags)(fiber._runtimeFlags)
1200
- return core.unit
1200
+ return core.void
1201
1201
  })
1202
1202
  )
1203
1203
  })
@@ -168,11 +168,21 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
168
168
  ]
169
169
 
170
170
  let output = outputArray.join(" ")
171
- const stringMessage = Inspectable.toStringUnknown(message)
172
171
 
173
- if (stringMessage.length > 0) {
174
- output = output + " message="
175
- output = appendQuoted(stringMessage, output)
172
+ if (Array.isArray(message)) {
173
+ for (let i = 0; i < message.length; i++) {
174
+ const stringMessage = Inspectable.toStringUnknown(message[i])
175
+ if (stringMessage.length > 0) {
176
+ output = output + " message="
177
+ output = appendQuoted(stringMessage, output)
178
+ }
179
+ }
180
+ } else {
181
+ const stringMessage = Inspectable.toStringUnknown(message)
182
+ if (stringMessage.length > 0) {
183
+ output = output + " message="
184
+ output = appendQuoted(stringMessage, output)
185
+ }
176
186
  }
177
187
 
178
188
  if (cause != null && cause._tag !== "Empty") {
@@ -235,11 +245,21 @@ export const logfmtLogger = makeLogger<unknown, string>(
235
245
  ]
236
246
 
237
247
  let output = outputArray.join(" ")
238
- const stringMessage = Inspectable.toStringUnknown(message, 0)
239
248
 
240
- if (stringMessage.length > 0) {
241
- output = output + " message="
242
- output = appendQuotedLogfmt(stringMessage, output)
249
+ if (Array.isArray(message)) {
250
+ for (let i = 0; i < message.length; i++) {
251
+ const stringMessage = Inspectable.toStringUnknown(message[i], 0)
252
+ if (stringMessage.length > 0) {
253
+ output = output + " message="
254
+ output = appendQuotedLogfmt(stringMessage, output)
255
+ }
256
+ }
257
+ } else {
258
+ const stringMessage = Inspectable.toStringUnknown(message, 0)
259
+ if (stringMessage.length > 0) {
260
+ output = output + " message="
261
+ output = appendQuotedLogfmt(stringMessage, output)
262
+ }
243
263
  }
244
264
 
245
265
  if (cause != null && cause._tag !== "Empty") {
@@ -71,7 +71,7 @@ export const make = <R, ER>(
71
71
  disposeEffect: core.suspend(() => {
72
72
  ;(self as any).runtime = core.die("ManagedRuntime disposed")
73
73
  self.cachedRuntime = undefined
74
- return Scope.close(self.scope, core.exitUnit)
74
+ return Scope.close(self.scope, core.exitVoid)
75
75
  }),
76
76
  runFork<A, E>(effect: Effect.Effect<A, E, R>, options?: Runtime.RunForkOptions): Fiber.RuntimeFiber<A, E | ER> {
77
77
  return self.cachedRuntime === undefined ?
@@ -508,7 +508,7 @@ export const orElseAbsurd = <I, R, RA, A, Pr>(
508
508
  self: Matcher<I, R, RA, A, Pr>
509
509
  ): [Pr] extends [never] ? (input: I) => Unify<A> : Unify<A> =>
510
510
  orElse(() => {
511
- throw new Error("absurd")
511
+ throw new Error("effect/Match/orElseAbsurd: absurd")
512
512
  })(self)
513
513
 
514
514
  /** @internal */
@@ -565,6 +565,8 @@ export const option: <I, F, R, A, Pr>(
565
565
  })
566
566
  }) as any
567
567
 
568
+ const getExhaustiveAbsurdErrorMessage = "effect/Match/exhaustive: absurd"
569
+
568
570
  /** @internal */
569
571
  export const exhaustive: <I, F, A, Pr>(
570
572
  self: Matcher<I, F, never, A, Pr>
@@ -578,7 +580,7 @@ export const exhaustive: <I, F, A, Pr>(
578
580
  return toEither.right
579
581
  }
580
582
 
581
- throw new Error("@effect/match: exhaustive absurd")
583
+ throw new Error(getExhaustiveAbsurdErrorMessage)
582
584
  }
583
585
 
584
586
  return (u: I): A => {
@@ -589,6 +591,6 @@ export const exhaustive: <I, F, A, Pr>(
589
591
  return result.right as any
590
592
  }
591
593
 
592
- throw new Error("@effect/match: exhaustive absurd")
594
+ throw new Error(getExhaustiveAbsurdErrorMessage)
593
595
  }
594
596
  }) as any
@@ -1,3 +1,4 @@
1
+ import * as Array from "../../Array.js"
1
2
  import * as Chunk from "../../Chunk.js"
2
3
  import * as Equal from "../../Equal.js"
3
4
  import { pipe } from "../../Function.js"
@@ -5,7 +6,6 @@ import * as Hash from "../../Hash.js"
5
6
  import type * as MetricBoundaries from "../../MetricBoundaries.js"
6
7
  import { pipeArguments } from "../../Pipeable.js"
7
8
  import { hasProperty } from "../../Predicate.js"
8
- import * as ReadonlyArray from "../../ReadonlyArray.js"
9
9
 
10
10
  /** @internal */
11
11
  const MetricBoundariesSymbolKey = "effect/MetricBoundaries"
@@ -44,8 +44,8 @@ export const isMetricBoundaries = (u: unknown): u is MetricBoundaries.MetricBoun
44
44
  export const fromIterable = (iterable: Iterable<number>): MetricBoundaries.MetricBoundaries => {
45
45
  const values = pipe(
46
46
  iterable,
47
- ReadonlyArray.appendAll(Chunk.of(Number.POSITIVE_INFINITY)),
48
- ReadonlyArray.dedupe
47
+ Array.appendAll(Chunk.of(Number.POSITIVE_INFINITY)),
48
+ Array.dedupe
49
49
  )
50
50
  return new MetricBoundariesImpl(values)
51
51
  }
@@ -57,7 +57,7 @@ export const linear = (options: {
57
57
  readonly count: number
58
58
  }): MetricBoundaries.MetricBoundaries =>
59
59
  pipe(
60
- ReadonlyArray.makeBy(options.count - 1, (i) => options.start + i * options.width),
60
+ Array.makeBy(options.count - 1, (i) => options.start + i * options.width),
61
61
  Chunk.unsafeFromArray,
62
62
  fromIterable
63
63
  )
@@ -69,7 +69,7 @@ export const exponential = (options: {
69
69
  readonly count: number
70
70
  }): MetricBoundaries.MetricBoundaries =>
71
71
  pipe(
72
- ReadonlyArray.makeBy(options.count - 1, (i) => options.start * Math.pow(options.factor, i)),
72
+ Array.makeBy(options.count - 1, (i) => options.start * Math.pow(options.factor, i)),
73
73
  Chunk.unsafeFromArray,
74
74
  fromIterable
75
75
  )
@@ -1,3 +1,4 @@
1
+ import * as Array from "../../Array.js"
1
2
  import * as Duration from "../../Duration.js"
2
3
  import type { LazyArg } from "../../Function.js"
3
4
  import { dual, pipe } from "../../Function.js"
@@ -7,7 +8,6 @@ import type * as MetricState from "../../MetricState.js"
7
8
  import * as number from "../../Number.js"
8
9
  import * as Option from "../../Option.js"
9
10
  import { pipeArguments } from "../../Pipeable.js"
10
- import * as ReadonlyArray from "../../ReadonlyArray.js"
11
11
  import * as metricState from "./state.js"
12
12
 
13
13
  /** @internal */
@@ -78,8 +78,11 @@ export const counter = <A extends (number | bigint)>(
78
78
  }
79
79
 
80
80
  /** @internal */
81
- export const frequency = (_key: MetricKey.MetricKey.Frequency): MetricHook.MetricHook.Frequency => {
81
+ export const frequency = (key: MetricKey.MetricKey.Frequency): MetricHook.MetricHook.Frequency => {
82
82
  const values = new Map<string, number>()
83
+ for (const word of key.keyType.preregisteredWords) {
84
+ values.set(word, 0)
85
+ }
83
86
  const update = (word: string) => {
84
87
  const slotCount = values.get(word) ?? 0
85
88
  values.set(word, slotCount + 1)
@@ -120,8 +123,8 @@ export const histogram = (key: MetricKey.MetricKey.Histogram): MetricHook.Metric
120
123
 
121
124
  pipe(
122
125
  bounds,
123
- ReadonlyArray.sort(number.Order),
124
- ReadonlyArray.map((n, i) => {
126
+ Array.sort(number.Order),
127
+ Array.map((n, i) => {
125
128
  boundaries[i] = n
126
129
  })
127
130
  )
@@ -159,7 +162,7 @@ export const histogram = (key: MetricKey.MetricKey.Histogram): MetricHook.Metric
159
162
  }
160
163
 
161
164
  const getBuckets = (): ReadonlyArray<readonly [number, number]> => {
162
- const builder: Array<readonly [number, number]> = Array(size)
165
+ const builder: Array<readonly [number, number]> = Array.allocate(size) as any
163
166
  let cumulated = 0
164
167
  for (let i = 0; i < size; i++) {
165
168
  const boundary = boundaries[i]
@@ -186,8 +189,8 @@ export const histogram = (key: MetricKey.MetricKey.Histogram): MetricHook.Metric
186
189
  /** @internal */
187
190
  export const summary = (key: MetricKey.MetricKey.Summary): MetricHook.MetricHook.Summary => {
188
191
  const { error, maxAge, maxSize, quantiles } = key.keyType
189
- const sortedQuantiles = pipe(quantiles, ReadonlyArray.sort(number.Order))
190
- const values = Array<readonly [number, number]>(maxSize)
192
+ const sortedQuantiles = pipe(quantiles, Array.sort(number.Order))
193
+ const values = Array.allocate<readonly [number, number]>(maxSize)
191
194
 
192
195
  let head = 0
193
196
  let count = 0
@@ -225,7 +228,7 @@ export const summary = (key: MetricKey.MetricKey.Summary): MetricHook.MetricHook
225
228
  return calculateQuantiles(
226
229
  error,
227
230
  sortedQuantiles,
228
- ReadonlyArray.sort(builder, number.Order)
231
+ Array.sort(builder, number.Order)
229
232
  )
230
233
  }
231
234
 
@@ -288,8 +291,8 @@ const calculateQuantiles = (
288
291
  ): ReadonlyArray<readonly [number, Option.Option<number>]> => {
289
292
  // The number of samples examined
290
293
  const sampleCount = sortedSamples.length
291
- if (!ReadonlyArray.isNonEmptyReadonlyArray(sortedQuantiles)) {
292
- return ReadonlyArray.empty()
294
+ if (!Array.isNonEmptyReadonlyArray(sortedQuantiles)) {
295
+ return Array.empty()
293
296
  }
294
297
  const head = sortedQuantiles[0]
295
298
  const tail = sortedQuantiles.slice(1)
@@ -301,7 +304,7 @@ const calculateQuantiles = (
301
304
  head,
302
305
  sortedSamples
303
306
  )
304
- const resolved = ReadonlyArray.of(resolvedHead)
307
+ const resolved = Array.of(resolvedHead)
305
308
  tail.forEach((quantile) => {
306
309
  resolved.push(
307
310
  resolveQuantile(
@@ -314,7 +317,7 @@ const calculateQuantiles = (
314
317
  )
315
318
  )
316
319
  })
317
- return ReadonlyArray.map(resolved, (rq) => [rq.quantile, rq.value] as const)
320
+ return Array.map(resolved, (rq) => [rq.quantile, rq.value] as const)
318
321
  }
319
322
 
320
323
  /** @internal */
@@ -341,7 +344,7 @@ const resolveQuantile = (
341
344
  // eslint-disable-next-line no-constant-condition
342
345
  while (1) {
343
346
  // If the remaining list of samples is empty, there is nothing more to resolve
344
- if (!ReadonlyArray.isNonEmptyReadonlyArray(rest_1)) {
347
+ if (!Array.isNonEmptyReadonlyArray(rest_1)) {
345
348
  return {
346
349
  quantile: quantile_1,
347
350
  value: Option.none(),
@@ -354,14 +357,14 @@ const resolveQuantile = (
354
357
  if (quantile_1 === 1) {
355
358
  return {
356
359
  quantile: quantile_1,
357
- value: Option.some(ReadonlyArray.lastNonEmpty(rest_1)),
360
+ value: Option.some(Array.lastNonEmpty(rest_1)),
358
361
  consumed: consumed_1 + rest_1.length,
359
362
  rest: []
360
363
  }
361
364
  }
362
365
  // Split into two chunks - the first chunk contains all elements of the same
363
366
  // value as the chunk head
364
- const sameHead = ReadonlyArray.span(rest_1, (n) => n <= rest_1[0])
367
+ const sameHead = Array.span(rest_1, (n) => n <= rest_1[0])
365
368
  // How many elements do we want to accept for this quantile
366
369
  const desired = quantile_1 * sampleCount_1
367
370
  // The error margin
@@ -375,7 +378,7 @@ const resolveQuantile = (
375
378
  if (candConsumed < desired - allowedError) {
376
379
  error_2 = error_1
377
380
  sampleCount_2 = sampleCount_1
378
- current_2 = ReadonlyArray.head(rest_1)
381
+ current_2 = Array.head(rest_1)
379
382
  consumed_2 = candConsumed
380
383
  quantile_2 = quantile_1
381
384
  rest_2 = sameHead[1]
@@ -403,7 +406,7 @@ const resolveQuantile = (
403
406
  case "None": {
404
407
  error_2 = error_1
405
408
  sampleCount_2 = sampleCount_1
406
- current_2 = ReadonlyArray.head(rest_1)
409
+ current_2 = Array.head(rest_1)
407
410
  consumed_2 = candConsumed
408
411
  quantile_2 = quantile_1
409
412
  rest_2 = sameHead[1]
@@ -420,7 +423,7 @@ const resolveQuantile = (
420
423
  if (candError < prevError) {
421
424
  error_2 = error_1
422
425
  sampleCount_2 = sampleCount_1
423
- current_2 = ReadonlyArray.head(rest_1)
426
+ current_2 = Array.head(rest_1)
424
427
  consumed_2 = candConsumed
425
428
  quantile_2 = quantile_1
426
429
  rest_2 = sameHead[1]
@@ -1,3 +1,4 @@
1
+ import * as Array from "../../Array.js"
1
2
  import type * as Duration from "../../Duration.js"
2
3
  import * as Equal from "../../Equal.js"
3
4
  import { dual, pipe } from "../../Function.js"
@@ -9,7 +10,6 @@ import type * as MetricLabel from "../../MetricLabel.js"
9
10
  import * as Option from "../../Option.js"
10
11
  import { pipeArguments } from "../../Pipeable.js"
11
12
  import { hasProperty } from "../../Predicate.js"
12
- import * as ReadonlyArray from "../../ReadonlyArray.js"
13
13
  import * as metricKeyType from "./keyType.js"
14
14
  import * as metricLabel from "./label.js"
15
15
 
@@ -26,7 +26,7 @@ const metricKeyVariance = {
26
26
  _Type: (_: never) => _
27
27
  }
28
28
 
29
- const arrayEquivilence = ReadonlyArray.getEquivalence(Equal.equals)
29
+ const arrayEquivilence = Array.getEquivalence(Equal.equals)
30
30
 
31
31
  /** @internal */
32
32
  class MetricKeyImpl<out Type extends MetricKeyType.MetricKeyType<any, any>> implements MetricKey.MetricKey<Type> {
@@ -83,8 +83,11 @@ export const counter: {
83
83
  )
84
84
 
85
85
  /** @internal */
86
- export const frequency = (name: string, description?: string): MetricKey.MetricKey.Frequency =>
87
- new MetricKeyImpl(name, metricKeyType.frequency, Option.fromNullable(description))
86
+ export const frequency = (name: string, options?: {
87
+ readonly description?: string | undefined
88
+ readonly preregisteredWords?: ReadonlyArray<string> | undefined
89
+ }): MetricKey.MetricKey.Frequency =>
90
+ new MetricKeyImpl(name, metricKeyType.frequency(options), Option.fromNullable(options?.description))
88
91
 
89
92
  /** @internal */
90
93
  export const gauge: {
@@ -161,4 +164,4 @@ export const taggedWithLabels = dual<
161
164
  >(2, (self, extraTags) =>
162
165
  extraTags.length === 0
163
166
  ? self
164
- : new MetricKeyImpl(self.name, self.keyType, self.description, ReadonlyArray.union(self.tags, extraTags)))
167
+ : new MetricKeyImpl(self.name, self.keyType, self.description, Array.union(self.tags, extraTags)))
@@ -86,7 +86,8 @@ const FrequencyKeyTypeHash = Hash.string(FrequencyKeyTypeSymbolKey)
86
86
  /** @internal */
87
87
  class FrequencyKeyType implements MetricKeyType.MetricKeyType.Frequency {
88
88
  readonly [MetricKeyTypeTypeId] = metricKeyTypeVariance
89
- readonly [FrequencyKeyTypeTypeId]: MetricKeyType.FrequencyKeyTypeTypeId = FrequencyKeyTypeTypeId;
89
+ readonly [FrequencyKeyTypeTypeId]: MetricKeyType.FrequencyKeyTypeTypeId = FrequencyKeyTypeTypeId
90
+ constructor(readonly preregisteredWords: ReadonlyArray<string>) {}
90
91
  [Hash.symbol](): number {
91
92
  return FrequencyKeyTypeHash
92
93
  }
@@ -192,7 +193,9 @@ export const counter: <A extends number | bigint>(options?: {
192
193
  * @since 2.0.0
193
194
  * @category constructors
194
195
  */
195
- export const frequency: MetricKeyType.MetricKeyType.Frequency = new FrequencyKeyType()
196
+ export const frequency = (options?: {
197
+ readonly preregisteredWords?: ReadonlyArray<string> | undefined
198
+ }): MetricKeyType.MetricKeyType.Frequency => new FrequencyKeyType(options?.preregisteredWords ?? [])
196
199
 
197
200
  /**
198
201
  * @since 2.0.0
@@ -1,3 +1,4 @@
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"
@@ -5,7 +6,6 @@ import type * as MetricState from "../../MetricState.js"
5
6
  import type * as Option from "../../Option.js"
6
7
  import { pipeArguments } from "../../Pipeable.js"
7
8
  import { hasProperty } from "../../Predicate.js"
8
- import * as ReadonlyArray from "../../ReadonlyArray.js"
9
9
 
10
10
  /** @internal */
11
11
  const MetricStateSymbolKey = "effect/MetricState"
@@ -80,7 +80,7 @@ class CounterState<A extends (number | bigint)> implements MetricState.MetricSta
80
80
  }
81
81
  }
82
82
 
83
- const arrayEquals = ReadonlyArray.getEquivalence(Equal.equals)
83
+ const arrayEquals = Array.getEquivalence(Equal.equals)
84
84
 
85
85
  /** @internal */
86
86
  class FrequencyState implements MetricState.MetricState.Frequency {
@@ -91,14 +91,14 @@ class FrequencyState implements MetricState.MetricState.Frequency {
91
91
  [Hash.symbol](): number {
92
92
  return pipe(
93
93
  Hash.string(FrequencyStateSymbolKey),
94
- Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.occurrences.entries()))),
94
+ Hash.combine(Hash.array(Array.fromIterable(this.occurrences.entries()))),
95
95
  Hash.cached(this)
96
96
  )
97
97
  }
98
98
  [Equal.symbol](that: unknown): boolean {
99
99
  return isFrequencyState(that) && arrayEquals(
100
- ReadonlyArray.fromIterable(this.occurrences.entries()),
101
- ReadonlyArray.fromIterable(that.occurrences.entries())
100
+ Array.fromIterable(this.occurrences.entries()),
101
+ Array.fromIterable(that.occurrences.entries())
102
102
  )
103
103
  }
104
104
  pipe() {
@@ -1,3 +1,4 @@
1
+ import * as Array from "../Array.js"
1
2
  import * as Clock from "../Clock.js"
2
3
  import * as Duration from "../Duration.js"
3
4
  import type * as Effect from "../Effect.js"
@@ -14,7 +15,6 @@ import type * as MetricPair from "../MetricPair.js"
14
15
  import type * as MetricRegistry from "../MetricRegistry.js"
15
16
  import type * as MetricState from "../MetricState.js"
16
17
  import { pipeArguments } from "../Pipeable.js"
17
- import * as ReadonlyArray from "../ReadonlyArray.js"
18
18
  import * as Cause from "./cause.js"
19
19
  import * as _effect from "./core-effect.js"
20
20
  import * as core from "./core.js"
@@ -98,8 +98,10 @@ export const counter: {
98
98
  } = (name, options) => fromMetricKey(metricKey.counter(name, options as any)) as any
99
99
 
100
100
  /** @internal */
101
- export const frequency = (name: string, description?: string): Metric.Metric.Frequency<string> =>
102
- fromMetricKey(metricKey.frequency(name, description))
101
+ export const frequency = (name: string, options?: {
102
+ readonly description?: string | undefined
103
+ readonly preregisteredWords?: ReadonlyArray<string> | undefined
104
+ }): Metric.Metric.Frequency<string> => fromMetricKey(metricKey.frequency(name, options))
103
105
 
104
106
  /** @internal */
105
107
  export const withConstantInput = dual<
@@ -273,7 +275,7 @@ export const taggedWithLabelsInput = dual<
273
275
  (input, extraTags) =>
274
276
  self.unsafeUpdate(
275
277
  input,
276
- ReadonlyArray.union(f(input), extraTags)
278
+ Array.union(f(input), extraTags)
277
279
  ),
278
280
  self.unsafeValue
279
281
  ),
@@ -292,8 +294,8 @@ export const taggedWithLabels = dual<
292
294
  >(2, (self, extraTags) => {
293
295
  return make(
294
296
  self.keyType,
295
- (input, extraTags1) => self.unsafeUpdate(input, ReadonlyArray.union(extraTags, extraTags1)),
296
- (extraTags1) => self.unsafeValue(ReadonlyArray.union(extraTags, extraTags1))
297
+ (input, extraTags1) => self.unsafeUpdate(input, Array.union(extraTags, extraTags1)),
298
+ (extraTags1) => self.unsafeValue(Array.union(extraTags, extraTags1))
297
299
  )
298
300
  })
299
301
 
@@ -75,13 +75,13 @@ interface Strategy<S, R, E, A> {
75
75
  */
76
76
  class NoneStrategy implements Strategy<unknown, never, never, never> {
77
77
  initial(): Effect.Effect<void> {
78
- return core.unit
78
+ return core.void
79
79
  }
80
80
  track(): Effect.Effect<void> {
81
- return core.unit
81
+ return core.void
82
82
  }
83
83
  run(): Effect.Effect<void> {
84
- return core.unit
84
+ return core.void
85
85
  }
86
86
  }
87
87
 
@@ -100,7 +100,7 @@ class TimeToLiveStrategy implements Strategy<readonly [Clock.Clock, Ref.Ref<numb
100
100
  )))
101
101
  }
102
102
  track(state: readonly [Clock.Clock, Ref.Ref<number>]): Effect.Effect<void> {
103
- return core.asUnit(core.flatMap(
103
+ return core.asVoid(core.flatMap(
104
104
  state[0].currentTimeMillis,
105
105
  (now) => ref.set(state[1], now)
106
106
  ))
@@ -222,7 +222,7 @@ class PoolImpl<in out A, in out E> implements Pool.Pool<A, E> {
222
222
  if (state.size <= this.min) {
223
223
  return [allocateUinterruptible(this), { ...state, free: state.free + 1 }] as const
224
224
  }
225
- return [core.unit, { ...state, size: state.size - 1 }] as const
225
+ return [core.void, { ...state, size: state.size - 1 }] as const
226
226
  })),
227
227
  onSuccess: (item) =>
228
228
  core.flatMap(ref.get(this.invalidated), (set) => {
@@ -303,7 +303,7 @@ const finalizeInvalid = <A, E>(
303
303
  if (state.size <= self.min) {
304
304
  return [allocateUinterruptible(self), { ...state, free: state.free + 1 }] as const
305
305
  }
306
- return [core.unit, { ...state, size: state.size - 1 }] as const
306
+ return [core.void, { ...state, size: state.size - 1 }] as const
307
307
  }))
308
308
  )
309
309
  )
@@ -317,7 +317,7 @@ const getAndShutdown = <A, E>(self: PoolImpl<A, E>): Effect.Effect<void> =>
317
317
  if (state.free > 0) {
318
318
  return [
319
319
  core.matchCauseEffect(queue.take(self.items), {
320
- onFailure: () => core.unit,
320
+ onFailure: () => core.void,
321
321
  onSuccess: (attempted) =>
322
322
  pipe(
323
323
  forEach(attempted, (a) => ref.update(self.invalidated, HashSet.remove(a))),
@@ -330,7 +330,7 @@ const getAndShutdown = <A, E>(self: PoolImpl<A, E>): Effect.Effect<void> =>
330
330
  ] as const
331
331
  }
332
332
  if (state.size > 0) {
333
- return [core.unit, state] as const
333
+ return [core.void, state] as const
334
334
  }
335
335
  return [queue.shutdown(self.items), { ...state, size: state.size - 1 }] as const
336
336
  }))
@@ -348,7 +348,7 @@ const initialize = <A, E>(self: PoolImpl<A, E>): Effect.Effect<void> =>
348
348
  { size: state.size + 1, free: state.free + 1 }
349
349
  ] as const
350
350
  }
351
- return [core.unit, state] as const
351
+ return [core.void, state] as const
352
352
  }))
353
353
  ),
354
354
  self.min,
@@ -376,7 +376,7 @@ const shrink = <A, E>(self: PoolImpl<A, E>): Effect.Effect<void> =>
376
376
  { ...state, free: state.free - 1 }
377
377
  ] as const
378
378
  }
379
- return [core.unit, state] as const
379
+ return [core.void, state] as const
380
380
  }))
381
381
  )
382
382
 
@@ -393,7 +393,7 @@ const forEach = <E, A, E2, R>(
393
393
  f: (a: A) => Effect.Effect<unknown, E2, R>
394
394
  ): Effect.Effect<unknown, E2, R> =>
395
395
  core.exitMatch(self.result, {
396
- onFailure: () => core.unit,
396
+ onFailure: () => core.void,
397
397
  onSuccess: f
398
398
  })
399
399
 
@@ -885,7 +885,7 @@ class SubscriptionImpl<in out A> implements Queue.Dequeue<A> {
885
885
  this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers)
886
886
  })),
887
887
  core.whenEffect(core.deferredSucceed(this.shutdownHook, void 0)),
888
- core.asUnit
888
+ core.asVoid
889
889
  )
890
890
  })
891
891
  )
@@ -1053,7 +1053,7 @@ class PubSubImpl<in out A> implements PubSub.PubSub<A> {
1053
1053
  this.scope.close(core.exitInterrupt(state.id())),
1054
1054
  core.zipRight(this.strategy.shutdown),
1055
1055
  core.whenEffect(core.deferredSucceed(this.shutdownHook, void 0)),
1056
- core.asUnit
1056
+ core.asVoid
1057
1057
  )
1058
1058
  }))
1059
1059
  }
@@ -1298,8 +1298,8 @@ class BackPressureStrategy<in out A> implements PubSubStrategy<A> {
1298
1298
  publishers,
1299
1299
  ([_, deferred, last]) =>
1300
1300
  last ?
1301
- pipe(core.deferredInterruptWith(deferred, fiberId), core.asUnit) :
1302
- core.unit,
1301
+ pipe(core.deferredInterruptWith(deferred, fiberId), core.asVoid) :
1302
+ core.void,
1303
1303
  false,
1304
1304
  false
1305
1305
  )
@@ -1408,7 +1408,7 @@ class BackPressureStrategy<in out A> implements PubSubStrategy<A> {
1408
1408
  */
1409
1409
  export class DroppingStrategy<in out A> implements PubSubStrategy<A> {
1410
1410
  get shutdown(): Effect.Effect<void> {
1411
- return core.unit
1411
+ return core.void
1412
1412
  }
1413
1413
 
1414
1414
  handleSurplus(
@@ -1452,7 +1452,7 @@ export class DroppingStrategy<in out A> implements PubSubStrategy<A> {
1452
1452
  */
1453
1453
  export class SlidingStrategy<in out A> implements PubSubStrategy<A> {
1454
1454
  get shutdown(): Effect.Effect<void> {
1455
- return core.unit
1455
+ return core.void
1456
1456
  }
1457
1457
 
1458
1458
  handleSurplus(
@@ -12,7 +12,7 @@ import * as core from "./core.js"
12
12
  import { ensuring } from "./fiberRuntime.js"
13
13
  import { Listeners } from "./request.js"
14
14
 
15
- type RequestCache = Cache.Cache<Request.Request<any, any>, never, {
15
+ type RequestCache = Cache.Cache<Request.Request<any, any>, {
16
16
  listeners: Request.Listeners
17
17
  handle: Deferred<any, any>
18
18
  }>
@@ -21,7 +21,7 @@ type RequestCache = Cache.Cache<Request.Request<any, any>, never, {
21
21
  export const currentCache = globalValue(
22
22
  Symbol.for("effect/FiberRef/currentCache"),
23
23
  () =>
24
- core.fiberRefUnsafeMake<RequestCache>(unsafeMakeWith<Request.Request<any, any>, never, {
24
+ core.fiberRefUnsafeMake<RequestCache>(unsafeMakeWith<Request.Request<any, any>, {
25
25
  listeners: Request.Listeners
26
26
  handle: Deferred<any, any>
27
27
  }>(
@@ -153,7 +153,7 @@ export const cacheRequest = <A extends Request.Request<any, any>>(
153
153
  core.flatMap(cache.getEither(request), (orNew) => {
154
154
  switch (orNew._tag) {
155
155
  case "Left": {
156
- return core.unit
156
+ return core.void
157
157
  }
158
158
  case "Right": {
159
159
  return core.deferredComplete(orNew.right.handle, result)
@@ -161,7 +161,7 @@ export const cacheRequest = <A extends Request.Request<any, any>>(
161
161
  }
162
162
  }))
163
163
  }
164
- return core.unit
164
+ return core.void
165
165
  })
166
166
  }
167
167