effect 2.4.19 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Record/package.json +6 -0
  4. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  5. package/dist/cjs/Array.js.map +1 -0
  6. package/dist/cjs/Brand.js +2 -2
  7. package/dist/cjs/Brand.js.map +1 -1
  8. package/dist/cjs/Channel.js +4 -8
  9. package/dist/cjs/Channel.js.map +1 -1
  10. package/dist/cjs/Chunk.js +5 -1
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/ConfigError.js.map +1 -1
  13. package/dist/cjs/Cron.js +13 -13
  14. package/dist/cjs/Cron.js.map +1 -1
  15. package/dist/cjs/Effect.js +14 -10
  16. package/dist/cjs/Effect.js.map +1 -1
  17. package/dist/cjs/Either.js +4 -1
  18. package/dist/cjs/Either.js.map +1 -1
  19. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  20. package/dist/cjs/Exit.js +3 -9
  21. package/dist/cjs/Exit.js.map +1 -1
  22. package/dist/cjs/Fiber.js +2 -8
  23. package/dist/cjs/Fiber.js.map +1 -1
  24. package/dist/cjs/FiberHandle.js +288 -0
  25. package/dist/cjs/FiberHandle.js.map +1 -0
  26. package/dist/cjs/FiberMap.js +86 -27
  27. package/dist/cjs/FiberMap.js.map +1 -1
  28. package/dist/cjs/FiberRefs.js.map +1 -1
  29. package/dist/cjs/FiberSet.js +51 -15
  30. package/dist/cjs/FiberSet.js.map +1 -1
  31. package/dist/cjs/HashMap.js.map +1 -1
  32. package/dist/cjs/HashSet.js.map +1 -1
  33. package/dist/cjs/Iterable.js +40 -5
  34. package/dist/cjs/Iterable.js.map +1 -1
  35. package/dist/cjs/Layer.js.map +1 -1
  36. package/dist/cjs/List.js +3 -3
  37. package/dist/cjs/List.js.map +1 -1
  38. package/dist/cjs/Metric.js +3 -1
  39. package/dist/cjs/Metric.js.map +1 -1
  40. package/dist/cjs/MetricKey.js.map +1 -1
  41. package/dist/cjs/MetricKeyType.js.map +1 -1
  42. package/dist/cjs/MutableHashMap.js +0 -4
  43. package/dist/cjs/MutableHashMap.js.map +1 -1
  44. package/dist/cjs/Option.js +3 -6
  45. package/dist/cjs/Option.js.map +1 -1
  46. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  47. package/dist/cjs/Record.js.map +1 -0
  48. package/dist/cjs/STM.js +4 -10
  49. package/dist/cjs/STM.js.map +1 -1
  50. package/dist/cjs/Schedule.js +2 -2
  51. package/dist/cjs/Schedule.js.map +1 -1
  52. package/dist/cjs/ScopedCache.js.map +1 -1
  53. package/dist/cjs/Stream.js +3 -9
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/StreamHaltStrategy.js +2 -0
  56. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  57. package/dist/cjs/String.js +44 -2
  58. package/dist/cjs/String.js.map +1 -1
  59. package/dist/cjs/TestAnnotations.js +1 -1
  60. package/dist/cjs/TestAnnotations.js.map +1 -1
  61. package/dist/cjs/TestClock.js +3 -3
  62. package/dist/cjs/TestClock.js.map +1 -1
  63. package/dist/cjs/Tracer.js.map +1 -1
  64. package/dist/cjs/index.js +8 -6
  65. package/dist/cjs/index.js.map +1 -1
  66. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  67. package/dist/cjs/internal/array.js.map +1 -0
  68. package/dist/cjs/internal/cache.js +3 -3
  69. package/dist/cjs/internal/cache.js.map +1 -1
  70. package/dist/cjs/internal/cause.js +3 -3
  71. package/dist/cjs/internal/cause.js.map +1 -1
  72. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  73. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  74. package/dist/cjs/internal/channel/channelState.js +1 -1
  75. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  76. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  77. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  78. package/dist/cjs/internal/channel.js +10 -10
  79. package/dist/cjs/internal/channel.js.map +1 -1
  80. package/dist/cjs/internal/clock.js +2 -2
  81. package/dist/cjs/internal/clock.js.map +1 -1
  82. package/dist/cjs/internal/configError.js +20 -19
  83. package/dist/cjs/internal/configError.js.map +1 -1
  84. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  85. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  86. package/dist/cjs/internal/configProvider.js +46 -47
  87. package/dist/cjs/internal/configProvider.js.map +1 -1
  88. package/dist/cjs/internal/core-effect.js +42 -28
  89. package/dist/cjs/internal/core-effect.js.map +1 -1
  90. package/dist/cjs/internal/core-stream.js +2 -3
  91. package/dist/cjs/internal/core-stream.js.map +1 -1
  92. package/dist/cjs/internal/core.js +27 -31
  93. package/dist/cjs/internal/core.js.map +1 -1
  94. package/dist/cjs/internal/dataSource.js +19 -2
  95. package/dist/cjs/internal/dataSource.js.map +1 -1
  96. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  97. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  98. package/dist/cjs/internal/effect/circular.js +1 -1
  99. package/dist/cjs/internal/effect/circular.js.map +1 -1
  100. package/dist/cjs/internal/executionStrategy.js +4 -4
  101. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  102. package/dist/cjs/internal/fiber.js +5 -6
  103. package/dist/cjs/internal/fiber.js.map +1 -1
  104. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  105. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  106. package/dist/cjs/internal/fiberRefs.js +1 -1
  107. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  108. package/dist/cjs/internal/fiberRuntime.js +33 -33
  109. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  110. package/dist/cjs/internal/groupBy.js +3 -3
  111. package/dist/cjs/internal/groupBy.js.map +1 -1
  112. package/dist/cjs/internal/hashMap.js.map +1 -1
  113. package/dist/cjs/internal/hashSet.js.map +1 -1
  114. package/dist/cjs/internal/layer/circular.js.map +1 -1
  115. package/dist/cjs/internal/layer.js +5 -5
  116. package/dist/cjs/internal/layer.js.map +1 -1
  117. package/dist/cjs/internal/logger.js +28 -8
  118. package/dist/cjs/internal/logger.js.map +1 -1
  119. package/dist/cjs/internal/managedRuntime.js +1 -1
  120. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  121. package/dist/cjs/internal/metric/boundaries.js +4 -4
  122. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  123. package/dist/cjs/internal/metric/hook.js +20 -17
  124. package/dist/cjs/internal/metric/hook.js.map +1 -1
  125. package/dist/cjs/internal/metric/key.js +4 -4
  126. package/dist/cjs/internal/metric/key.js.map +1 -1
  127. package/dist/cjs/internal/metric/keyType.js +6 -1
  128. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  129. package/dist/cjs/internal/metric/state.js +4 -4
  130. package/dist/cjs/internal/metric/state.js.map +1 -1
  131. package/dist/cjs/internal/metric.js +4 -4
  132. package/dist/cjs/internal/metric.js.map +1 -1
  133. package/dist/cjs/internal/pool.js +11 -11
  134. package/dist/cjs/internal/pool.js.map +1 -1
  135. package/dist/cjs/internal/pubsub.js +5 -5
  136. package/dist/cjs/internal/pubsub.js.map +1 -1
  137. package/dist/cjs/internal/query.js +2 -2
  138. package/dist/cjs/internal/query.js.map +1 -1
  139. package/dist/cjs/internal/queue.js +9 -9
  140. package/dist/cjs/internal/queue.js.map +1 -1
  141. package/dist/cjs/internal/rateLimiter.js +1 -1
  142. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  143. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  144. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  145. package/dist/cjs/internal/reloadable.js +1 -1
  146. package/dist/cjs/internal/reloadable.js.map +1 -1
  147. package/dist/cjs/internal/runtime.js +4 -4
  148. package/dist/cjs/internal/runtime.js.map +1 -1
  149. package/dist/cjs/internal/schedule.js +5 -5
  150. package/dist/cjs/internal/schedule.js.map +1 -1
  151. package/dist/cjs/internal/scopedCache.js +7 -7
  152. package/dist/cjs/internal/scopedCache.js.map +1 -1
  153. package/dist/cjs/internal/scopedRef.js +4 -4
  154. package/dist/cjs/internal/scopedRef.js.map +1 -1
  155. package/dist/cjs/internal/secret.js +2 -2
  156. package/dist/cjs/internal/secret.js.map +1 -1
  157. package/dist/cjs/internal/sink.js +10 -10
  158. package/dist/cjs/internal/sink.js.map +1 -1
  159. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  160. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  161. package/dist/cjs/internal/stm/stm.js +11 -11
  162. package/dist/cjs/internal/stm/stm.js.map +1 -1
  163. package/dist/cjs/internal/stm/tMap.js +3 -3
  164. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  165. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  166. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  167. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  168. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  169. package/dist/cjs/internal/stm/tQueue.js +3 -3
  170. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  171. package/dist/cjs/internal/stm/tSet.js +1 -1
  172. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  173. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  174. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  175. package/dist/cjs/internal/stream.js +84 -85
  176. package/dist/cjs/internal/stream.js.map +1 -1
  177. package/dist/cjs/internal/supervisor.js +1 -1
  178. package/dist/cjs/internal/supervisor.js.map +1 -1
  179. package/dist/cjs/internal/take.js +1 -1
  180. package/dist/cjs/internal/take.js.map +1 -1
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/trie.js.map +1 -1
  183. package/dist/cjs/internal/version.js +1 -1
  184. package/dist/cjs/internal/version.js.map +1 -1
  185. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
  186. package/dist/dts/Array.d.ts.map +1 -0
  187. package/dist/dts/BigDecimal.d.ts.map +1 -1
  188. package/dist/dts/BigInt.d.ts.map +1 -1
  189. package/dist/dts/Brand.d.ts +1 -19
  190. package/dist/dts/Brand.d.ts.map +1 -1
  191. package/dist/dts/Cache.d.ts +10 -10
  192. package/dist/dts/Cache.d.ts.map +1 -1
  193. package/dist/dts/Cause.d.ts +1 -1
  194. package/dist/dts/Cause.d.ts.map +1 -1
  195. package/dist/dts/Channel.d.ts +6 -4
  196. package/dist/dts/Channel.d.ts.map +1 -1
  197. package/dist/dts/Chunk.d.ts +1 -4
  198. package/dist/dts/Chunk.d.ts.map +1 -1
  199. package/dist/dts/ConfigError.d.ts +7 -6
  200. package/dist/dts/ConfigError.d.ts.map +1 -1
  201. package/dist/dts/Cron.d.ts +0 -5
  202. package/dist/dts/Cron.d.ts.map +1 -1
  203. package/dist/dts/Duration.d.ts.map +1 -1
  204. package/dist/dts/Effect.d.ts +38 -33
  205. package/dist/dts/Effect.d.ts.map +1 -1
  206. package/dist/dts/Either.d.ts +5 -2
  207. package/dist/dts/Either.d.ts.map +1 -1
  208. package/dist/dts/Encoding.d.ts.map +1 -1
  209. package/dist/dts/Equivalence.d.ts.map +1 -1
  210. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  211. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  212. package/dist/dts/Exit.d.ts +4 -3
  213. package/dist/dts/Exit.d.ts.map +1 -1
  214. package/dist/dts/Fiber.d.ts +4 -2
  215. package/dist/dts/Fiber.d.ts.map +1 -1
  216. package/dist/dts/FiberHandle.d.ts +189 -0
  217. package/dist/dts/FiberHandle.d.ts.map +1 -0
  218. package/dist/dts/FiberMap.d.ts +48 -12
  219. package/dist/dts/FiberMap.d.ts.map +1 -1
  220. package/dist/dts/FiberRefs.d.ts +1 -1
  221. package/dist/dts/FiberRefs.d.ts.map +1 -1
  222. package/dist/dts/FiberSet.d.ts +9 -5
  223. package/dist/dts/FiberSet.d.ts.map +1 -1
  224. package/dist/dts/Function.d.ts.map +1 -1
  225. package/dist/dts/GroupBy.d.ts +1 -1
  226. package/dist/dts/GroupBy.d.ts.map +1 -1
  227. package/dist/dts/HashMap.d.ts +0 -1
  228. package/dist/dts/HashMap.d.ts.map +1 -1
  229. package/dist/dts/HashSet.d.ts +0 -1
  230. package/dist/dts/HashSet.d.ts.map +1 -1
  231. package/dist/dts/Iterable.d.ts +12 -5
  232. package/dist/dts/Iterable.d.ts.map +1 -1
  233. package/dist/dts/Layer.d.ts +6 -6
  234. package/dist/dts/Layer.d.ts.map +1 -1
  235. package/dist/dts/List.d.ts +0 -11
  236. package/dist/dts/List.d.ts.map +1 -1
  237. package/dist/dts/Logger.d.ts +2 -2
  238. package/dist/dts/Logger.d.ts.map +1 -1
  239. package/dist/dts/Metric.d.ts +7 -2
  240. package/dist/dts/Metric.d.ts.map +1 -1
  241. package/dist/dts/MetricKey.d.ts +4 -1
  242. package/dist/dts/MetricKey.d.ts.map +1 -1
  243. package/dist/dts/MetricKeyType.d.ts +4 -1
  244. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  245. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  246. package/dist/dts/Option.d.ts +5 -3
  247. package/dist/dts/Option.d.ts.map +1 -1
  248. package/dist/dts/Order.d.ts.map +1 -1
  249. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  250. package/dist/dts/Record.d.ts.map +1 -0
  251. package/dist/dts/Request.d.ts +1 -1
  252. package/dist/dts/Request.d.ts.map +1 -1
  253. package/dist/dts/RequestResolver.d.ts +2 -2
  254. package/dist/dts/RequestResolver.d.ts.map +1 -1
  255. package/dist/dts/STM.d.ts +6 -4
  256. package/dist/dts/STM.d.ts.map +1 -1
  257. package/dist/dts/Schedule.d.ts +1 -1
  258. package/dist/dts/Scheduler.d.ts.map +1 -1
  259. package/dist/dts/ScopedCache.d.ts +9 -9
  260. package/dist/dts/ScopedCache.d.ts.map +1 -1
  261. package/dist/dts/SortedMap.d.ts.map +1 -1
  262. package/dist/dts/SortedSet.d.ts +1 -1
  263. package/dist/dts/SortedSet.d.ts.map +1 -1
  264. package/dist/dts/Stream.d.ts +8 -6
  265. package/dist/dts/Stream.d.ts.map +1 -1
  266. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  267. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  268. package/dist/dts/String.d.ts +25 -1
  269. package/dist/dts/String.d.ts.map +1 -1
  270. package/dist/dts/Subscribable.d.ts.map +1 -1
  271. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  272. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  273. package/dist/dts/TestAnnotations.d.ts +0 -3
  274. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  275. package/dist/dts/TestClock.d.ts.map +1 -1
  276. package/dist/dts/TestLive.d.ts.map +1 -1
  277. package/dist/dts/TestServices.d.ts.map +1 -1
  278. package/dist/dts/TestSized.d.ts.map +1 -1
  279. package/dist/dts/Tracer.d.ts +12 -5
  280. package/dist/dts/Tracer.d.ts.map +1 -1
  281. package/dist/dts/Trie.d.ts +1 -1
  282. package/dist/dts/Trie.d.ts.map +1 -1
  283. package/dist/dts/Types.d.ts +0 -7
  284. package/dist/dts/Types.d.ts.map +1 -1
  285. package/dist/dts/index.d.ts +11 -7
  286. package/dist/dts/index.d.ts.map +1 -1
  287. package/dist/dts/internal/array.d.ts +5 -0
  288. package/dist/dts/internal/array.d.ts.map +1 -0
  289. package/dist/dts/internal/core-stream.d.ts +4 -0
  290. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  291. package/dist/dts/internal/core.d.ts +3 -1
  292. package/dist/dts/internal/core.d.ts.map +1 -1
  293. package/dist/dts/internal/fiber.d.ts +5 -1
  294. package/dist/dts/internal/fiber.d.ts.map +1 -1
  295. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  296. package/dist/dts/internal/logger.d.ts.map +1 -1
  297. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  298. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  299. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  300. package/dist/dts/internal/random.d.ts.map +1 -1
  301. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  302. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  303. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  304. package/dist/dts/internal/stm/stm.d.ts +3 -0
  305. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  306. package/dist/dts/internal/stream.d.ts +5 -1
  307. package/dist/dts/internal/stream.d.ts.map +1 -1
  308. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  309. package/dist/esm/Array.js.map +1 -0
  310. package/dist/esm/Brand.js +2 -2
  311. package/dist/esm/Brand.js.map +1 -1
  312. package/dist/esm/Channel.js +4 -2
  313. package/dist/esm/Channel.js.map +1 -1
  314. package/dist/esm/Chunk.js +4 -1
  315. package/dist/esm/Chunk.js.map +1 -1
  316. package/dist/esm/ConfigError.js.map +1 -1
  317. package/dist/esm/Cron.js +13 -13
  318. package/dist/esm/Cron.js.map +1 -1
  319. package/dist/esm/Effect.js +11 -2
  320. package/dist/esm/Effect.js.map +1 -1
  321. package/dist/esm/Either.js +4 -1
  322. package/dist/esm/Either.js.map +1 -1
  323. package/dist/esm/ExecutionStrategy.js.map +1 -1
  324. package/dist/esm/Exit.js +4 -2
  325. package/dist/esm/Exit.js.map +1 -1
  326. package/dist/esm/Fiber.js +3 -1
  327. package/dist/esm/Fiber.js.map +1 -1
  328. package/dist/esm/FiberHandle.js +247 -0
  329. package/dist/esm/FiberHandle.js.map +1 -0
  330. package/dist/esm/FiberMap.js +85 -26
  331. package/dist/esm/FiberMap.js.map +1 -1
  332. package/dist/esm/FiberRefs.js.map +1 -1
  333. package/dist/esm/FiberSet.js +51 -15
  334. package/dist/esm/FiberSet.js.map +1 -1
  335. package/dist/esm/HashMap.js.map +1 -1
  336. package/dist/esm/HashSet.js.map +1 -1
  337. package/dist/esm/Iterable.js +39 -4
  338. package/dist/esm/Iterable.js.map +1 -1
  339. package/dist/esm/Layer.js.map +1 -1
  340. package/dist/esm/List.js +3 -3
  341. package/dist/esm/List.js.map +1 -1
  342. package/dist/esm/Metric.js +3 -1
  343. package/dist/esm/Metric.js.map +1 -1
  344. package/dist/esm/MetricKey.js.map +1 -1
  345. package/dist/esm/MetricKeyType.js.map +1 -1
  346. package/dist/esm/MutableHashMap.js +0 -3
  347. package/dist/esm/MutableHashMap.js.map +1 -1
  348. package/dist/esm/Option.js +4 -2
  349. package/dist/esm/Option.js.map +1 -1
  350. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  351. package/dist/esm/Record.js.map +1 -0
  352. package/dist/esm/STM.js +5 -3
  353. package/dist/esm/STM.js.map +1 -1
  354. package/dist/esm/Schedule.js +1 -1
  355. package/dist/esm/Schedule.js.map +1 -1
  356. package/dist/esm/ScopedCache.js.map +1 -1
  357. package/dist/esm/Stream.js +5 -3
  358. package/dist/esm/Stream.js.map +1 -1
  359. package/dist/esm/StreamHaltStrategy.js +2 -0
  360. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  361. package/dist/esm/String.js +37 -1
  362. package/dist/esm/String.js.map +1 -1
  363. package/dist/esm/TestAnnotations.js +1 -1
  364. package/dist/esm/TestAnnotations.js.map +1 -1
  365. package/dist/esm/TestClock.js +3 -3
  366. package/dist/esm/TestClock.js.map +1 -1
  367. package/dist/esm/Tracer.js.map +1 -1
  368. package/dist/esm/index.js +11 -7
  369. package/dist/esm/index.js.map +1 -1
  370. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  371. package/dist/esm/internal/array.js.map +1 -0
  372. package/dist/esm/internal/cache.js +3 -3
  373. package/dist/esm/internal/cache.js.map +1 -1
  374. package/dist/esm/internal/cause.js +3 -3
  375. package/dist/esm/internal/cause.js.map +1 -1
  376. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  377. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  378. package/dist/esm/internal/channel/channelState.js +1 -1
  379. package/dist/esm/internal/channel/channelState.js.map +1 -1
  380. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  381. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  382. package/dist/esm/internal/channel.js +8 -8
  383. package/dist/esm/internal/channel.js.map +1 -1
  384. package/dist/esm/internal/clock.js +2 -2
  385. package/dist/esm/internal/clock.js.map +1 -1
  386. package/dist/esm/internal/configError.js +20 -19
  387. package/dist/esm/internal/configError.js.map +1 -1
  388. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  389. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  390. package/dist/esm/internal/configProvider.js +46 -47
  391. package/dist/esm/internal/configProvider.js.map +1 -1
  392. package/dist/esm/internal/core-effect.js +39 -26
  393. package/dist/esm/internal/core-effect.js.map +1 -1
  394. package/dist/esm/internal/core-stream.js +3 -2
  395. package/dist/esm/internal/core-stream.js.map +1 -1
  396. package/dist/esm/internal/core.js +24 -26
  397. package/dist/esm/internal/core.js.map +1 -1
  398. package/dist/esm/internal/dataSource.js +19 -2
  399. package/dist/esm/internal/dataSource.js.map +1 -1
  400. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  401. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  402. package/dist/esm/internal/effect/circular.js +1 -1
  403. package/dist/esm/internal/effect/circular.js.map +1 -1
  404. package/dist/esm/internal/executionStrategy.js +4 -4
  405. package/dist/esm/internal/executionStrategy.js.map +1 -1
  406. package/dist/esm/internal/fiber.js +6 -5
  407. package/dist/esm/internal/fiber.js.map +1 -1
  408. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  409. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  410. package/dist/esm/internal/fiberRefs.js +1 -1
  411. package/dist/esm/internal/fiberRefs.js.map +1 -1
  412. package/dist/esm/internal/fiberRuntime.js +33 -33
  413. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  414. package/dist/esm/internal/groupBy.js +3 -3
  415. package/dist/esm/internal/groupBy.js.map +1 -1
  416. package/dist/esm/internal/hashMap.js.map +1 -1
  417. package/dist/esm/internal/hashSet.js.map +1 -1
  418. package/dist/esm/internal/layer/circular.js.map +1 -1
  419. package/dist/esm/internal/layer.js +5 -5
  420. package/dist/esm/internal/layer.js.map +1 -1
  421. package/dist/esm/internal/logger.js +28 -8
  422. package/dist/esm/internal/logger.js.map +1 -1
  423. package/dist/esm/internal/managedRuntime.js +1 -1
  424. package/dist/esm/internal/managedRuntime.js.map +1 -1
  425. package/dist/esm/internal/metric/boundaries.js +4 -4
  426. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  427. package/dist/esm/internal/metric/hook.js +20 -17
  428. package/dist/esm/internal/metric/hook.js.map +1 -1
  429. package/dist/esm/internal/metric/key.js +4 -4
  430. package/dist/esm/internal/metric/key.js.map +1 -1
  431. package/dist/esm/internal/metric/keyType.js +5 -1
  432. package/dist/esm/internal/metric/keyType.js.map +1 -1
  433. package/dist/esm/internal/metric/state.js +4 -4
  434. package/dist/esm/internal/metric/state.js.map +1 -1
  435. package/dist/esm/internal/metric.js +4 -4
  436. package/dist/esm/internal/metric.js.map +1 -1
  437. package/dist/esm/internal/pool.js +11 -11
  438. package/dist/esm/internal/pool.js.map +1 -1
  439. package/dist/esm/internal/pubsub.js +5 -5
  440. package/dist/esm/internal/pubsub.js.map +1 -1
  441. package/dist/esm/internal/query.js +2 -2
  442. package/dist/esm/internal/query.js.map +1 -1
  443. package/dist/esm/internal/queue.js +9 -9
  444. package/dist/esm/internal/queue.js.map +1 -1
  445. package/dist/esm/internal/rateLimiter.js +1 -1
  446. package/dist/esm/internal/rateLimiter.js.map +1 -1
  447. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  448. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  449. package/dist/esm/internal/reloadable.js +1 -1
  450. package/dist/esm/internal/reloadable.js.map +1 -1
  451. package/dist/esm/internal/runtime.js +4 -4
  452. package/dist/esm/internal/runtime.js.map +1 -1
  453. package/dist/esm/internal/schedule.js +3 -3
  454. package/dist/esm/internal/schedule.js.map +1 -1
  455. package/dist/esm/internal/scopedCache.js +7 -7
  456. package/dist/esm/internal/scopedCache.js.map +1 -1
  457. package/dist/esm/internal/scopedRef.js +4 -4
  458. package/dist/esm/internal/scopedRef.js.map +1 -1
  459. package/dist/esm/internal/secret.js +2 -2
  460. package/dist/esm/internal/secret.js.map +1 -1
  461. package/dist/esm/internal/sink.js +10 -10
  462. package/dist/esm/internal/sink.js.map +1 -1
  463. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  464. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  465. package/dist/esm/internal/stm/stm.js +11 -9
  466. package/dist/esm/internal/stm/stm.js.map +1 -1
  467. package/dist/esm/internal/stm/tMap.js +3 -3
  468. package/dist/esm/internal/stm/tMap.js.map +1 -1
  469. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  470. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  471. package/dist/esm/internal/stm/tPubSub.js +3 -3
  472. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  473. package/dist/esm/internal/stm/tQueue.js +3 -3
  474. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  475. package/dist/esm/internal/stm/tSet.js +1 -1
  476. package/dist/esm/internal/stm/tSet.js.map +1 -1
  477. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  478. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  479. package/dist/esm/internal/stream.js +85 -84
  480. package/dist/esm/internal/stream.js.map +1 -1
  481. package/dist/esm/internal/supervisor.js +1 -1
  482. package/dist/esm/internal/supervisor.js.map +1 -1
  483. package/dist/esm/internal/take.js +1 -1
  484. package/dist/esm/internal/take.js.map +1 -1
  485. package/dist/esm/internal/tracer.js.map +1 -1
  486. package/dist/esm/internal/trie.js.map +1 -1
  487. package/dist/esm/internal/version.js +1 -1
  488. package/dist/esm/internal/version.js.map +1 -1
  489. package/package.json +23 -15
  490. package/src/{ReadonlyArray.ts → Array.ts} +47 -24
  491. package/src/Brand.ts +3 -3
  492. package/src/Cache.ts +12 -10
  493. package/src/Cause.ts +1 -1
  494. package/src/Channel.ts +12 -9
  495. package/src/Chunk.ts +3 -3
  496. package/src/ConfigError.ts +7 -6
  497. package/src/Cron.ts +17 -17
  498. package/src/Effect.ts +46 -57
  499. package/src/Either.ts +7 -7
  500. package/src/ExecutionStrategy.ts +10 -2
  501. package/src/Exit.ts +11 -9
  502. package/src/Fiber.ts +11 -8
  503. package/src/FiberHandle.ts +414 -0
  504. package/src/FiberMap.ts +181 -73
  505. package/src/FiberRefs.ts +1 -1
  506. package/src/FiberSet.ts +96 -36
  507. package/src/GroupBy.ts +1 -1
  508. package/src/HashMap.ts +0 -1
  509. package/src/HashSet.ts +0 -1
  510. package/src/Iterable.ts +48 -10
  511. package/src/Layer.ts +6 -6
  512. package/src/List.ts +3 -4
  513. package/src/Logger.ts +2 -2
  514. package/src/Metric.ts +9 -2
  515. package/src/MetricKey.ts +9 -1
  516. package/src/MetricKeyType.ts +6 -1
  517. package/src/MutableHashMap.ts +1 -1
  518. package/src/Option.ts +9 -6
  519. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  520. package/src/Request.ts +1 -1
  521. package/src/RequestResolver.ts +4 -4
  522. package/src/STM.ts +12 -9
  523. package/src/Schedule.ts +1 -1
  524. package/src/ScopedCache.ts +11 -9
  525. package/src/SortedSet.ts +1 -1
  526. package/src/Stream.ts +14 -11
  527. package/src/StreamHaltStrategy.ts +14 -2
  528. package/src/String.ts +45 -2
  529. package/src/TestAnnotations.ts +1 -1
  530. package/src/TestClock.ts +3 -3
  531. package/src/Tracer.ts +13 -5
  532. package/src/Trie.ts +1 -1
  533. package/src/Types.ts +0 -8
  534. package/src/index.ts +13 -8
  535. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  536. package/src/internal/cache.ts +40 -40
  537. package/src/internal/cause.ts +5 -6
  538. package/src/internal/channel/channelExecutor.ts +15 -15
  539. package/src/internal/channel/channelState.ts +1 -1
  540. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  541. package/src/internal/channel.ts +11 -11
  542. package/src/internal/clock.ts +2 -2
  543. package/src/internal/configError.ts +22 -21
  544. package/src/internal/configProvider/pathPatch.ts +1 -1
  545. package/src/internal/configProvider.ts +49 -52
  546. package/src/internal/core-effect.ts +73 -70
  547. package/src/internal/core-stream.ts +5 -2
  548. package/src/internal/core.ts +51 -50
  549. package/src/internal/dataSource.ts +19 -20
  550. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  551. package/src/internal/effect/circular.ts +2 -2
  552. package/src/internal/executionStrategy.ts +14 -12
  553. package/src/internal/fiber.ts +8 -5
  554. package/src/internal/fiberRefs/patch.ts +1 -1
  555. package/src/internal/fiberRefs.ts +1 -1
  556. package/src/internal/fiberRuntime.ts +45 -45
  557. package/src/internal/groupBy.ts +4 -4
  558. package/src/internal/hashMap.ts +0 -1
  559. package/src/internal/hashSet.ts +0 -1
  560. package/src/internal/layer/circular.ts +2 -2
  561. package/src/internal/layer.ts +9 -9
  562. package/src/internal/logger.ts +28 -8
  563. package/src/internal/managedRuntime.ts +1 -1
  564. package/src/internal/metric/boundaries.ts +5 -5
  565. package/src/internal/metric/hook.ts +21 -18
  566. package/src/internal/metric/key.ts +8 -5
  567. package/src/internal/metric/keyType.ts +5 -2
  568. package/src/internal/metric/state.ts +5 -5
  569. package/src/internal/metric.ts +8 -6
  570. package/src/internal/pool.ts +11 -11
  571. package/src/internal/pubsub.ts +6 -6
  572. package/src/internal/query.ts +4 -4
  573. package/src/internal/queue.ts +11 -11
  574. package/src/internal/rateLimiter.ts +1 -1
  575. package/src/internal/redBlackTree/iterator.ts +2 -2
  576. package/src/internal/reloadable.ts +1 -1
  577. package/src/internal/runtime.ts +5 -5
  578. package/src/internal/schedule.ts +8 -9
  579. package/src/internal/scopedCache.ts +53 -53
  580. package/src/internal/scopedRef.ts +4 -4
  581. package/src/internal/secret.ts +2 -2
  582. package/src/internal/sink.ts +10 -10
  583. package/src/internal/stm/stm/tExit.ts +5 -2
  584. package/src/internal/stm/stm.ts +13 -9
  585. package/src/internal/stm/tMap.ts +3 -3
  586. package/src/internal/stm/tPriorityQueue.ts +11 -11
  587. package/src/internal/stm/tPubSub.ts +3 -3
  588. package/src/internal/stm/tQueue.ts +3 -3
  589. package/src/internal/stm/tSet.ts +1 -1
  590. package/src/internal/stream/haltStrategy.ts +23 -14
  591. package/src/internal/stream.ts +91 -88
  592. package/src/internal/supervisor.ts +1 -1
  593. package/src/internal/take.ts +1 -1
  594. package/src/internal/tracer.ts +2 -2
  595. package/src/internal/trie.ts +0 -1
  596. package/src/internal/version.ts +1 -1
  597. package/ReadonlyArray/package.json +0 -6
  598. package/ReadonlyRecord/package.json +0 -6
  599. package/dist/cjs/ReadonlyArray.js.map +0 -1
  600. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  601. package/dist/cjs/internal/Iterable.js +0 -61
  602. package/dist/cjs/internal/Iterable.js.map +0 -1
  603. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  604. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  605. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  606. package/dist/dts/internal/Iterable.d.ts +0 -2
  607. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  608. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  609. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  610. package/dist/esm/ReadonlyArray.js.map +0 -1
  611. package/dist/esm/ReadonlyRecord.js.map +0 -1
  612. package/dist/esm/internal/Iterable.js +0 -53
  613. package/dist/esm/internal/Iterable.js.map +0 -1
  614. package/dist/esm/internal/readonlyArray.js.map +0 -1
  615. package/src/internal/Iterable.ts +0 -54
@@ -1,3 +1,4 @@
1
+ import * as Array from "../../Array.js"
1
2
  import * 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
 
@@ -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
  /**
@@ -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
  )
@@ -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))