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
@@ -11,7 +11,6 @@ import type { Equivalence } from "./Equivalence.js"
11
11
  import { dual, identity } from "./Function.js"
12
12
  import type { TypeLambda } from "./HKT.js"
13
13
  import * as Option from "./Option.js"
14
- import type { NoInfer } from "./Types.js"
15
14
 
16
15
  /**
17
16
  * @category models
@@ -69,7 +68,7 @@ export const empty = <K extends string | symbol = never, V = never>(): Record<
69
68
  * @param self - record to test for emptiness.
70
69
  *
71
70
  * @example
72
- * import { isEmptyRecord } from "effect/ReadonlyRecord"
71
+ * import { isEmptyRecord } from "effect/Record"
73
72
  *
74
73
  * assert.deepStrictEqual(isEmptyRecord({}), true);
75
74
  * assert.deepStrictEqual(isEmptyRecord({ a: 3 }), false);
@@ -86,7 +85,7 @@ export const isEmptyRecord = <K extends string, A>(self: Record<K, A>): self is
86
85
  * @param self - record to test for emptiness.
87
86
  *
88
87
  * @example
89
- * import { isEmptyReadonlyRecord } from "effect/ReadonlyRecord"
88
+ * import { isEmptyReadonlyRecord } from "effect/Record"
90
89
  *
91
90
  * assert.deepStrictEqual(isEmptyReadonlyRecord({}), true);
92
91
  * assert.deepStrictEqual(isEmptyReadonlyRecord({ a: 3 }), false);
@@ -106,7 +105,7 @@ export const isEmptyReadonlyRecord: <K extends string, A>(
106
105
  * @param f - A projection function that maps values of the iterable to a tuple of a key and a value.
107
106
  *
108
107
  * @example
109
- * import { fromIterableWith } from "effect/ReadonlyRecord"
108
+ * import { fromIterableWith } from "effect/Record"
110
109
  *
111
110
  * const input = [1, 2, 3, 4]
112
111
  *
@@ -148,7 +147,7 @@ export const fromIterableWith: {
148
147
  * @param f - A function that extracts the key for each element.
149
148
  *
150
149
  * @example
151
- * import { fromIterableBy } from "effect/ReadonlyRecord"
150
+ * import { fromIterableBy } from "effect/Record"
152
151
  *
153
152
  * const users = [
154
153
  * { id: "2", name: "name2" },
@@ -180,7 +179,7 @@ export const fromIterableBy = <A, K extends string | symbol>(
180
179
  * @param self - The iterable of key-value pairs.
181
180
  *
182
181
  * @example
183
- * import { fromEntries } from "effect/ReadonlyRecord"
182
+ * import { fromEntries } from "effect/Record"
184
183
  *
185
184
  * const input: Array<[string, number]> = [["a", 1], ["b", 2]]
186
185
  *
@@ -200,7 +199,7 @@ export const fromEntries: <Entry extends readonly [string | symbol, any]>(
200
199
  * @param f - The custom mapping function to apply to each key/value of the record.
201
200
  *
202
201
  * @example
203
- * import { collect } from "effect/ReadonlyRecord"
202
+ * import { collect } from "effect/Record"
204
203
  *
205
204
  * const x = { a: 1, b: 2, c: 3 }
206
205
  * assert.deepStrictEqual(collect(x, (key, n) => [key, n]), [["a", 1], ["b", 2], ["c", 3]])
@@ -228,7 +227,7 @@ export const collect: {
228
227
  * @param self - The record to transform.
229
228
  *
230
229
  * @example
231
- * import { toEntries } from "effect/ReadonlyRecord"
230
+ * import { toEntries } from "effect/Record"
232
231
  *
233
232
  * const x = { a: 1, b: 2, c: 3 }
234
233
  * assert.deepStrictEqual(toEntries(x), [["a", 1], ["b", 2], ["c", 3]])
@@ -247,7 +246,7 @@ export const toEntries: <K extends string, A>(self: ReadonlyRecord<K, A>) => Arr
247
246
  * @param self - A record to calculate the number of key/value pairs in.
248
247
  *
249
248
  * @example
250
- * import { size } from "effect/ReadonlyRecord";
249
+ * import { size } from "effect/Record";
251
250
  *
252
251
  * assert.deepStrictEqual(size({ a: "a", b: 1, c: true }), 3);
253
252
  *
@@ -262,7 +261,7 @@ export const size = <K extends string, A>(self: ReadonlyRecord<K, A>): number =>
262
261
  * @param key - the key to look for in the record.
263
262
  *
264
263
  * @example
265
- * import { empty, has } from "effect/ReadonlyRecord"
264
+ * import { empty, has } from "effect/Record"
266
265
  *
267
266
  * assert.deepStrictEqual(has({ a: 1, b: 2 }, "a"), true);
268
267
  * assert.deepStrictEqual(has(empty<string>(), "c"), false);
@@ -292,7 +291,7 @@ export const has: {
292
291
  * @param key - Key to retrieve from record.
293
292
  *
294
293
  * @example
295
- * import { get } from "effect/ReadonlyRecord"
294
+ * import { get } from "effect/Record"
296
295
  * import { some, none } from "effect/Option"
297
296
  *
298
297
  * const person: Record<string, unknown> = { name: "John Doe", age: 35 }
@@ -320,7 +319,7 @@ export const get: {
320
319
  * @param f - The function to apply to the element.
321
320
  *
322
321
  * @example
323
- * import { modify } from "effect/ReadonlyRecord"
322
+ * import { modify } from "effect/Record"
324
323
  * import { some, none } from "effect/Option"
325
324
  *
326
325
  * const f = (x: number) => x * 2
@@ -361,7 +360,7 @@ export const modify: {
361
360
  * @param f - The function to apply to the element.
362
361
  *
363
362
  * @example
364
- * import { modifyOption } from "effect/ReadonlyRecord"
363
+ * import { modifyOption } from "effect/Record"
365
364
  * import { some, none } from "effect/Option"
366
365
  *
367
366
  * const f = (x: number) => x * 2
@@ -409,7 +408,7 @@ export const modifyOption: {
409
408
  * @param b - The new value to replace the existing value with.
410
409
  *
411
410
  * @example
412
- * import { empty, replaceOption } from "effect/ReadonlyRecord"
411
+ * import { empty, replaceOption } from "effect/Record"
413
412
  * import { some, none } from "effect/Option"
414
413
  *
415
414
  * assert.deepStrictEqual(
@@ -447,7 +446,7 @@ export const replaceOption: {
447
446
  * @param key - the key to remove from the record.
448
447
  *
449
448
  * @example
450
- * import { remove } from "effect/ReadonlyRecord"
449
+ * import { remove } from "effect/Record"
451
450
  *
452
451
  * assert.deepStrictEqual(remove({ a: 1, b: 2 }, "a"), { b: 2 })
453
452
  *
@@ -477,7 +476,7 @@ export const remove: {
477
476
  * @param key - The key of the property to retrieve.
478
477
  *
479
478
  * @example
480
- * import { pop } from "effect/ReadonlyRecord"
479
+ * import { pop } from "effect/Record"
481
480
  * import { some, none } from 'effect/Option'
482
481
  *
483
482
  * assert.deepStrictEqual(pop({ a: 1, b: 2 }, "a"), some([1, { b: 2 }]))
@@ -507,7 +506,7 @@ export const pop: {
507
506
  * @param f - A transformation function that will be applied to each of the values in the record.
508
507
  *
509
508
  * @example
510
- * import { map } from "effect/ReadonlyRecord"
509
+ * import { map } from "effect/Record"
511
510
  *
512
511
  * const f = (n: number) => `-${n}`
513
512
  *
@@ -538,7 +537,7 @@ export const map: {
538
537
  * Maps the keys of a `ReadonlyRecord` while preserving the corresponding values.
539
538
  *
540
539
  * @example
541
- * import { mapKeys } from "effect/ReadonlyRecord"
540
+ * import { mapKeys } from "effect/Record"
542
541
  *
543
542
  * assert.deepStrictEqual(mapKeys({ a: 3, b: 5 }, (key) => key.toUpperCase()), { A: 3, B: 5 })
544
543
  *
@@ -572,7 +571,7 @@ export const mapKeys: {
572
571
  * Maps entries of a `ReadonlyRecord` using the provided function, allowing modification of both keys and corresponding values.
573
572
  *
574
573
  * @example
575
- * import { mapEntries } from "effect/ReadonlyRecord"
574
+ * import { mapEntries } from "effect/Record"
576
575
  *
577
576
  * assert.deepStrictEqual(mapEntries({ a: 3, b: 5 }, (a, key) => [key.toUpperCase(), a + 1]), { A: 4, B: 6 })
578
577
  *
@@ -610,7 +609,7 @@ export const mapEntries: {
610
609
  * @param f - The transformation function.
611
610
  *
612
611
  * @example
613
- * import { filterMap } from "effect/ReadonlyRecord"
612
+ * import { filterMap } from "effect/Record"
614
613
  * import { some, none } from 'effect/Option'
615
614
  *
616
615
  * const x = { a: 1, b: 2, c: 3 }
@@ -651,7 +650,7 @@ export const filterMap: {
651
650
  * @param predicate - A function that returns a `boolean` value to determine if the entry should be included in the new record.
652
651
  *
653
652
  * @example
654
- * import { filter } from "effect/ReadonlyRecord"
653
+ * import { filter } from "effect/Record"
655
654
  *
656
655
  * const x = { a: 1, b: 2, c: 3, d: 4 }
657
656
  * assert.deepStrictEqual(filter(x, (n) => n > 2), { c: 3, d: 4 })
@@ -696,7 +695,7 @@ export const filter: {
696
695
  * @param self - A record with `Option` values.
697
696
  *
698
697
  * @example
699
- * import { getSomes } from "effect/ReadonlyRecord"
698
+ * import { getSomes } from "effect/Record"
700
699
  * import { some, none } from "effect/Option"
701
700
  *
702
701
  * assert.deepStrictEqual(
@@ -717,7 +716,7 @@ export const getSomes: <K extends string, A>(
717
716
  * Given a record with `Either` values, returns a new record containing only the `Left` values, preserving the original keys.
718
717
  *
719
718
  * @example
720
- * import { getLefts } from "effect/ReadonlyRecord"
719
+ * import { getLefts } from "effect/Record"
721
720
  * import { right, left } from "effect/Either"
722
721
  *
723
722
  * assert.deepStrictEqual(
@@ -746,7 +745,7 @@ export const getLefts = <K extends string, R, L>(
746
745
  * Given a record with `Either` values, returns a new record containing only the `Right` values, preserving the original keys.
747
746
  *
748
747
  * @example
749
- * import { getRights } from "effect/ReadonlyRecord"
748
+ * import { getRights } from "effect/Record"
750
749
  * import { right, left } from "effect/Either"
751
750
  *
752
751
  * assert.deepStrictEqual(
@@ -778,7 +777,7 @@ export const getRights = <K extends string, R, L>(
778
777
  * @param f - The predicate function to apply to each element.
779
778
  *
780
779
  * @example
781
- * import { partitionMap } from "effect/ReadonlyRecord"
780
+ * import { partitionMap } from "effect/Record"
782
781
  * import { left, right } from 'effect/Either'
783
782
  *
784
783
  * const x = { a: 1, b: 2, c: 3 }
@@ -825,7 +824,7 @@ export const partitionMap: {
825
824
  * @param self - the record to partition.
826
825
  *
827
826
  * @example
828
- * import { separate } from "effect/ReadonlyRecord"
827
+ * import { separate } from "effect/Record"
829
828
  * import { left, right } from 'effect/Either'
830
829
  *
831
830
  * assert.deepStrictEqual(
@@ -847,7 +846,7 @@ export const separate: <K extends string, A, B>(
847
846
  * @param predicate - The partitioning function to determine the partitioning of each value of the record.
848
847
  *
849
848
  * @example
850
- * import { partition } from "effect/ReadonlyRecord"
849
+ * import { partition } from "effect/Record"
851
850
  *
852
851
  * assert.deepStrictEqual(
853
852
  * partition({ a: 1, b: 3 }, (n) => n > 2),
@@ -925,7 +924,7 @@ export const values = <K extends string, A>(self: ReadonlyRecord<K, A>): Array<A
925
924
  * @param values - The value you want to associate with the key.
926
925
  *
927
926
  * @example
928
- * import { set } from "effect/ReadonlyRecord"
927
+ * import { set } from "effect/Record"
929
928
  *
930
929
  * assert.deepStrictEqual(set("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
931
930
  * assert.deepStrictEqual(set("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
@@ -962,7 +961,7 @@ export const set: {
962
961
  * @param value - The new value to associate with the key.
963
962
  *
964
963
  * @example
965
- * import { replace } from "effect/ReadonlyRecord"
964
+ * import { replace } from "effect/Record"
966
965
  * import { some, none } from "effect/Option"
967
966
  *
968
967
  * assert.deepStrictEqual(replace("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
package/src/Ref.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  import type * as Effect from "./Effect.js"
5
5
  import * as internal from "./internal/ref.js"
6
6
  import type * as Option from "./Option.js"
7
- import type { Pipeable } from "./Pipeable.js"
7
+ import type { Readable } from "./Readable.js"
8
8
  import type * as Types from "./Types.js"
9
9
 
10
10
  /**
@@ -23,7 +23,7 @@ export type RefTypeId = typeof RefTypeId
23
23
  * @since 2.0.0
24
24
  * @category models
25
25
  */
26
- export interface Ref<in out A> extends Ref.Variance<A>, Pipeable {
26
+ export interface Ref<in out A> extends Ref.Variance<A>, Readable<A> {
27
27
  modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<B>
28
28
  }
29
29
 
package/src/RegExp.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This module provides utility functions for working with RegExp in TypeScript.
3
+ *
4
+ * @since 2.0.0
5
+ */
6
+
7
+ /**
8
+ * Escapes special characters in a regular expression pattern.
9
+ *
10
+ * @example
11
+ * import * as RegExp from "effect/RegExp"
12
+ *
13
+ * assert.deepStrictEqual(RegExp.escape("a*b"), "a\\*b")
14
+ *
15
+ * @since 2.0.0
16
+ */
17
+ export const escape = (string: string): string => string.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&")
package/src/Request.ts CHANGED
@@ -257,7 +257,7 @@ export interface Listeners {
257
257
  * @since 2.0.0
258
258
  */
259
259
  export interface Cache extends
260
- _Cache.ConsumerCache<Request<any, any>, never, {
260
+ _Cache.ConsumerCache<Request<any, any>, {
261
261
  listeners: Listeners
262
262
  handle: Deferred<unknown, unknown>
263
263
  }>
@@ -187,13 +187,13 @@ export const around: {
187
187
  */
188
188
  export const aroundRequests: {
189
189
  <A, A2, R2, X, R3>(
190
- before: (requests: ReadonlyArray<Types.NoInfer<A>>) => Effect.Effect<A2, never, R2>,
191
- after: (requests: ReadonlyArray<Types.NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
190
+ before: (requests: ReadonlyArray<NoInfer<A>>) => Effect.Effect<A2, never, R2>,
191
+ after: (requests: ReadonlyArray<NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
192
192
  ): <R>(self: RequestResolver<A, R>) => RequestResolver<A, R2 | R3 | R>
193
193
  <A, R, A2, R2, X, R3>(
194
194
  self: RequestResolver<A, R>,
195
- before: (requests: ReadonlyArray<Types.NoInfer<A>>) => Effect.Effect<A2, never, R2>,
196
- after: (requests: ReadonlyArray<Types.NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
195
+ before: (requests: ReadonlyArray<NoInfer<A>>) => Effect.Effect<A2, never, R2>,
196
+ after: (requests: ReadonlyArray<NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
197
197
  ): RequestResolver<A, R | R2 | R3>
198
198
  } = internal.aroundRequests
199
199
 
package/src/STM.ts CHANGED
@@ -14,7 +14,7 @@ import * as stm from "./internal/stm/stm.js"
14
14
  import type * as Option from "./Option.js"
15
15
  import type { Pipeable } from "./Pipeable.js"
16
16
  import type { Predicate, Refinement } from "./Predicate.js"
17
- import type { Covariant, MergeRecord, NoInfer } from "./Types.js"
17
+ import type { Covariant, MergeRecord } from "./Types.js"
18
18
  import type * as Unify from "./Unify.js"
19
19
 
20
20
  /**
@@ -295,7 +295,7 @@ export const asSomeError: <A, E, R>(self: STM<A, E, R>) => STM<A, Option.Option<
295
295
  * @since 2.0.0
296
296
  * @category mapping
297
297
  */
298
- export const asUnit: <A, E, R>(self: STM<A, E, R>) => STM<void, E, R> = stm.asUnit
298
+ export const asVoid: <A, E, R>(self: STM<A, E, R>) => STM<void, E, R> = stm.asVoid
299
299
 
300
300
  /**
301
301
  * Creates an `STM` value from a partial (but pure) function.
@@ -1860,13 +1860,16 @@ export const unlessSTM: {
1860
1860
  */
1861
1861
  export const unsome: <A, E, R>(self: STM<A, Option.Option<E>, R>) => STM<Option.Option<A>, E, R> = stm.unsome
1862
1862
 
1863
- /**
1864
- * Returns an `STM` effect that succeeds with `Unit`.
1865
- *
1866
- * @since 2.0.0
1867
- * @category constructors
1868
- */
1869
- export const unit: STM<void> = stm.unit
1863
+ const void_: STM<void> = stm.void
1864
+ export {
1865
+ /**
1866
+ * Returns an `STM` effect that succeeds with `void`.
1867
+ *
1868
+ * @since 2.0.0
1869
+ * @category constructors
1870
+ */
1871
+ void_ as void
1872
+ }
1870
1873
 
1871
1874
  /**
1872
1875
  * Feeds elements of type `A` to `f` and accumulates all errors in error
package/src/Schedule.ts CHANGED
@@ -218,7 +218,7 @@ export const as: {
218
218
  * @since 2.0.0
219
219
  * @category constructors
220
220
  */
221
- export const asUnit: <Out, In, R>(self: Schedule<Out, In, R>) => Schedule<void, In, R> = internal.asUnit
221
+ export const asVoid: <Out, In, R>(self: Schedule<Out, In, R>) => Schedule<void, In, R> = internal.asVoid
222
222
 
223
223
  /**
224
224
  * Returns a new schedule that has both the inputs and outputs of this and the
@@ -27,7 +27,9 @@ export type ScopedCacheTypeId = typeof ScopedCacheTypeId
27
27
  * @since 2.0.0
28
28
  * @category models
29
29
  */
30
- export interface ScopedCache<in Key, out Error, out Value> extends ScopedCache.Variance<Key, Error, Value>, Pipeable {
30
+ export interface ScopedCache<in Key, out Value, out Error = never>
31
+ extends ScopedCache.Variance<Key, Value, Error>, Pipeable
32
+ {
31
33
  /**
32
34
  * Retrieves the value associated with the specified key if it exists.
33
35
  * Otherwise returns `Option.none`.
@@ -98,7 +100,7 @@ export declare namespace ScopedCache {
98
100
  * @since 2.0.0
99
101
  * @category models
100
102
  */
101
- export interface Variance<in Key, out Error, out Value> {
103
+ export interface Variance<in Key, out Value, out Error> {
102
104
  readonly [ScopedCacheTypeId]: {
103
105
  _Key: Types.Contravariant<Key>
104
106
  _Error: Types.Covariant<Error>
@@ -114,13 +116,13 @@ export declare namespace ScopedCache {
114
116
  * @since 2.0.0
115
117
  * @category constructors
116
118
  */
117
- export const make: <Key, Environment, Error, Value>(
119
+ export const make: <Key, Value, Error = never, Environment = never>(
118
120
  options: {
119
- readonly lookup: Lookup<Key, Environment, Error, Value>
121
+ readonly lookup: Lookup<Key, Value, Error, Environment>
120
122
  readonly capacity: number
121
123
  readonly timeToLive: Duration.DurationInput
122
124
  }
123
- ) => Effect.Effect<ScopedCache<Key, Error, Value>, never, Scope.Scope | Environment> = internal.make
125
+ ) => Effect.Effect<ScopedCache<Key, Value, Error>, never, Scope.Scope | Environment> = internal.make
124
126
 
125
127
  /**
126
128
  * Constructs a new cache with the specified capacity, time to live, and
@@ -130,13 +132,13 @@ export const make: <Key, Environment, Error, Value>(
130
132
  * @since 2.0.0
131
133
  * @category constructors
132
134
  */
133
- export const makeWith: <Key, Environment, Error, Value>(
135
+ export const makeWith: <Key, Value, Error = never, Environment = never>(
134
136
  options: {
135
137
  readonly capacity: number
136
- readonly lookup: Lookup<Key, Environment, Error, Value>
138
+ readonly lookup: Lookup<Key, Value, Error, Environment>
137
139
  readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
138
140
  }
139
- ) => Effect.Effect<ScopedCache<Key, Error, Value>, never, Scope.Scope | Environment> = internal.makeWith
141
+ ) => Effect.Effect<ScopedCache<Key, Value, Error>, never, Scope.Scope | Environment> = internal.makeWith
140
142
 
141
143
  /**
142
144
  * Similar to `Cache.Lookup`, but executes the lookup function within a `Scope`.
@@ -144,6 +146,6 @@ export const makeWith: <Key, Environment, Error, Value>(
144
146
  * @since 2.0.0
145
147
  * @category models
146
148
  */
147
- export type Lookup<Key, Environment, Error, Value> = (
149
+ export type Lookup<Key, Value, Error = never, Environment = never> = (
148
150
  key: Key
149
151
  ) => Effect.Effect<Value, Error, Environment | Scope.Scope>
package/src/SortedSet.ts CHANGED
@@ -14,7 +14,7 @@ import { pipeArguments } from "./Pipeable.js"
14
14
  import type { Predicate } from "./Predicate.js"
15
15
  import { hasProperty } from "./Predicate.js"
16
16
  import * as RBT from "./RedBlackTree.js"
17
- import type { Invariant, NoInfer } from "./Types.js"
17
+ import type { Invariant } from "./Types.js"
18
18
 
19
19
  const TypeId: unique symbol = Symbol.for("effect/SortedSet")
20
20
 
package/src/Stream.ts CHANGED
@@ -29,7 +29,7 @@ import type * as Emit from "./StreamEmit.js"
29
29
  import type * as HaltStrategy from "./StreamHaltStrategy.js"
30
30
  import type * as Take from "./Take.js"
31
31
  import type * as Tracer from "./Tracer.js"
32
- import type { Covariant, MergeRecord, NoInfer } from "./Types.js"
32
+ import type { Covariant, MergeRecord } from "./Types.js"
33
33
  import type * as Unify from "./Unify.js"
34
34
 
35
35
  /**
@@ -3707,7 +3707,7 @@ export const throttleEffect: {
3707
3707
  } = internal.throttleEffect
3708
3708
 
3709
3709
  /**
3710
- * A stream that emits Unit values spaced by the specified duration.
3710
+ * A stream that emits void values spaced by the specified duration.
3711
3711
  *
3712
3712
  * @since 2.0.0
3713
3713
  * @category constructors
@@ -3915,13 +3915,16 @@ export const unfoldEffect: <S, A, E, R>(
3915
3915
  f: (s: S) => Effect.Effect<Option.Option<readonly [A, S]>, E, R>
3916
3916
  ) => Stream<A, E, R> = internal.unfoldEffect
3917
3917
 
3918
- /**
3919
- * A stream that contains a single `Unit` value.
3920
- *
3921
- * @since 2.0.0
3922
- * @category constructors
3923
- */
3924
- export const unit: Stream<void> = internal.unit
3918
+ const void_: Stream<void> = internal.void
3919
+ export {
3920
+ /**
3921
+ * A stream that contains a single `void` value.
3922
+ *
3923
+ * @since 2.0.0
3924
+ * @category constructors
3925
+ */
3926
+ void_ as void
3927
+ }
3925
3928
 
3926
3929
  /**
3927
3930
  * Creates a stream produced from an `Effect`.
@@ -4025,7 +4028,7 @@ export const withSpan: {
4025
4028
  options?: {
4026
4029
  readonly attributes?: Record<string, unknown> | undefined
4027
4030
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
4028
- readonly parent?: Tracer.ParentSpan | undefined
4031
+ readonly parent?: Tracer.AnySpan | undefined
4029
4032
  readonly root?: boolean | undefined
4030
4033
  readonly context?: Context.Context<never> | undefined
4031
4034
  } | undefined
@@ -4036,7 +4039,7 @@ export const withSpan: {
4036
4039
  options?: {
4037
4040
  readonly attributes?: Record<string, unknown> | undefined
4038
4041
  readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
4039
- readonly parent?: Tracer.ParentSpan | undefined
4042
+ readonly parent?: Tracer.AnySpan | undefined
4040
4043
  readonly root?: boolean | undefined
4041
4044
  readonly context?: Context.Context<never> | undefined
4042
4045
  } | undefined
@@ -102,10 +102,22 @@ export const isBoth: (self: HaltStrategy) => self is Both = internal.isBoth
102
102
  export const isEither: (self: HaltStrategy) => self is Either = internal.isEither
103
103
 
104
104
  /**
105
+ * Folds over the specified `HaltStrategy` using the provided case functions.
106
+ *
105
107
  * @since 2.0.0
106
108
  * @category folding
107
109
  */
108
110
  export const match: {
109
- <Z>(onLeft: () => Z, onRight: () => Z, onBoth: () => Z, onEither: () => Z): (self: HaltStrategy) => Z
110
- <Z>(self: HaltStrategy, onLeft: () => Z, onRight: () => Z, onBoth: () => Z, onEither: () => Z): Z
111
+ <Z>(options: {
112
+ readonly onLeft: () => Z
113
+ readonly onRight: () => Z
114
+ readonly onBoth: () => Z
115
+ readonly onEither: () => Z
116
+ }): (self: HaltStrategy) => Z
117
+ <Z>(self: HaltStrategy, options: {
118
+ readonly onLeft: () => Z
119
+ readonly onRight: () => Z
120
+ readonly onBoth: () => Z
121
+ readonly onEither: () => Z
122
+ }): Z
111
123
  } = internal.match
package/src/String.ts CHANGED
@@ -6,16 +6,16 @@
6
6
  * @since 2.0.0
7
7
  */
8
8
 
9
+ import type { NonEmptyArray } from "./Array.js"
9
10
  import * as equivalence from "./Equivalence.js"
10
11
  import { dual } from "./Function.js"
11
- import * as readonlyArray from "./internal/readonlyArray.js"
12
+ import * as readonlyArray from "./internal/array.js"
12
13
  import * as number from "./Number.js"
13
14
  import * as Option from "./Option.js"
14
15
  import * as order from "./Order.js"
15
16
  import type * as Ordering from "./Ordering.js"
16
17
  import type { Refinement } from "./Predicate.js"
17
18
  import * as predicate from "./Predicate.js"
18
- import type { NonEmptyArray } from "./ReadonlyArray.js"
19
19
 
20
20
  /**
21
21
  * Tests if a value is a `string`.
@@ -624,6 +624,49 @@ export const stripMarginWith: {
624
624
  */
625
625
  export const stripMargin = (self: string): string => stripMarginWith(self, "|")
626
626
 
627
+ /**
628
+ * @since 2.0.0
629
+ */
630
+ export const snakeToCamel = (self: string): string => {
631
+ let str = self[0]
632
+ for (let i = 1; i < self.length; i++) {
633
+ str += self[i] === "_" ? self[++i].toUpperCase() : self[i]
634
+ }
635
+ return str
636
+ }
637
+
638
+ /**
639
+ * @since 2.0.0
640
+ */
641
+ export const snakeToPascal = (self: string): string => {
642
+ let str = self[0].toUpperCase()
643
+ for (let i = 1; i < self.length; i++) {
644
+ str += self[i] === "_" ? self[++i].toUpperCase() : self[i]
645
+ }
646
+ return str
647
+ }
648
+
649
+ /**
650
+ * @since 2.0.0
651
+ */
652
+ export const snakeToKebab = (self: string): string => self.replace(/_/g, "-")
653
+
654
+ /**
655
+ * @since 2.0.0
656
+ */
657
+ export const camelToSnake = (self: string): string => self.replace(/([A-Z])/g, "_$1").toLowerCase()
658
+
659
+ /**
660
+ * @since 2.0.0
661
+ */
662
+ export const pascalToSnake = (self: string): string =>
663
+ (self.slice(0, 1) + self.slice(1).replace(/([A-Z])/g, "_$1")).toLowerCase()
664
+
665
+ /**
666
+ * @since 2.0.0
667
+ */
668
+ export const kebabToSnake = (self: string): string => self.replace(/-/g, "_")
669
+
627
670
  class LinesIterator implements IterableIterator<string> {
628
671
  private index: number
629
672
  private readonly length: number