effect 2.0.0-next.49 → 2.0.0-next.50

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 (361) hide show
  1. package/BigInt/dist/effect-BigInt.cjs.dev.js +45 -18
  2. package/BigInt/dist/effect-BigInt.cjs.mjs +1 -0
  3. package/BigInt/dist/effect-BigInt.cjs.prod.js +45 -18
  4. package/BigInt/dist/effect-BigInt.esm.js +46 -19
  5. package/Brand/dist/effect-Brand.cjs.dev.js +0 -1
  6. package/Brand/dist/effect-Brand.cjs.prod.js +0 -1
  7. package/Cache/dist/effect-Cache.cjs.dev.js +23 -23
  8. package/Cache/dist/effect-Cache.cjs.prod.js +23 -23
  9. package/Cause/dist/effect-Cause.cjs.dev.js +4 -5
  10. package/Cause/dist/effect-Cause.cjs.prod.js +4 -5
  11. package/Channel/dist/effect-Channel.cjs.dev.js +35 -35
  12. package/Channel/dist/effect-Channel.cjs.prod.js +35 -35
  13. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +30 -30
  14. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +30 -30
  15. package/Chunk/dist/effect-Chunk.cjs.dev.js +0 -1
  16. package/Chunk/dist/effect-Chunk.cjs.prod.js +0 -1
  17. package/Clock/dist/effect-Clock.cjs.dev.js +11 -11
  18. package/Clock/dist/effect-Clock.cjs.prod.js +11 -11
  19. package/Config/dist/effect-Config.cjs.dev.js +7 -8
  20. package/Config/dist/effect-Config.cjs.prod.js +7 -8
  21. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +1 -2
  22. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +1 -2
  23. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +10 -10
  24. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +10 -10
  25. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +2 -3
  26. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +2 -3
  27. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +1 -2
  28. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +1 -2
  29. package/Console/dist/effect-Console.cjs.dev.js +27 -27
  30. package/Console/dist/effect-Console.cjs.prod.js +27 -27
  31. package/Data/dist/effect-Data.cjs.dev.js +36 -36
  32. package/Data/dist/effect-Data.cjs.prod.js +36 -36
  33. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +11 -11
  34. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +11 -11
  35. package/Deferred/dist/effect-Deferred.cjs.dev.js +4 -5
  36. package/Deferred/dist/effect-Deferred.cjs.prod.js +4 -5
  37. package/Differ/dist/effect-Differ.cjs.dev.js +1 -2
  38. package/Differ/dist/effect-Differ.cjs.prod.js +1 -2
  39. package/Duration/dist/effect-Duration.cjs.dev.js +0 -1
  40. package/Duration/dist/effect-Duration.cjs.prod.js +0 -1
  41. package/Effect/dist/effect-Effect.cjs.dev.js +37 -57
  42. package/Effect/dist/effect-Effect.cjs.mjs +0 -2
  43. package/Effect/dist/effect-Effect.cjs.prod.js +37 -57
  44. package/Effect/dist/effect-Effect.esm.js +4 -23
  45. package/Either/dist/effect-Either.cjs.dev.js +1 -1
  46. package/Either/dist/effect-Either.cjs.prod.js +1 -1
  47. package/Either/dist/effect-Either.esm.js +1 -1
  48. package/Exit/dist/effect-Exit.cjs.dev.js +4 -5
  49. package/Exit/dist/effect-Exit.cjs.prod.js +4 -5
  50. package/Fiber/dist/effect-Fiber.cjs.dev.js +24 -24
  51. package/Fiber/dist/effect-Fiber.cjs.prod.js +24 -24
  52. package/FiberId/dist/effect-FiberId.cjs.dev.js +2 -3
  53. package/FiberId/dist/effect-FiberId.cjs.prod.js +2 -3
  54. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +24 -31
  55. package/FiberRef/dist/effect-FiberRef.cjs.mjs +0 -1
  56. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +24 -31
  57. package/FiberRef/dist/effect-FiberRef.esm.js +2 -8
  58. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +5 -6
  59. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +5 -6
  60. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +6 -7
  61. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +6 -7
  62. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +36 -36
  63. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +36 -36
  64. package/HashMap/dist/effect-HashMap.cjs.dev.js +1 -2
  65. package/HashMap/dist/effect-HashMap.cjs.prod.js +1 -2
  66. package/HashSet/dist/effect-HashSet.cjs.dev.js +1 -2
  67. package/HashSet/dist/effect-HashSet.cjs.prod.js +1 -2
  68. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +24 -24
  69. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +24 -24
  70. package/Layer/dist/effect-Layer.cjs.dev.js +35 -35
  71. package/Layer/dist/effect-Layer.cjs.mjs +2 -2
  72. package/Layer/dist/effect-Layer.cjs.prod.js +35 -35
  73. package/Layer/dist/effect-Layer.esm.js +4 -4
  74. package/List/dist/effect-List.cjs.dev.js +0 -1
  75. package/List/dist/effect-List.cjs.prod.js +0 -1
  76. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +4 -4
  77. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +4 -4
  78. package/Logger/dist/effect-Logger.cjs.dev.js +28 -28
  79. package/Logger/dist/effect-Logger.cjs.prod.js +28 -28
  80. package/Match/dist/effect-Match.cjs.dev.js +0 -1
  81. package/Match/dist/effect-Match.cjs.prod.js +0 -1
  82. package/Metric/dist/effect-Metric.cjs.dev.js +22 -22
  83. package/Metric/dist/effect-Metric.cjs.prod.js +22 -22
  84. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +1 -2
  85. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +1 -2
  86. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +3 -3
  87. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +3 -3
  88. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +3 -4
  89. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +3 -4
  90. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +1 -2
  91. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +1 -2
  92. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +24 -24
  93. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +24 -24
  94. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +5 -5
  95. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +5 -5
  96. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +1 -2
  97. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +1 -2
  98. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +1 -2
  99. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +1 -2
  100. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +0 -1
  101. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +0 -1
  102. package/Number/dist/effect-Number.cjs.dev.js +31 -2
  103. package/Number/dist/effect-Number.cjs.mjs +2 -1
  104. package/Number/dist/effect-Number.cjs.prod.js +31 -2
  105. package/Number/dist/effect-Number.esm.js +24 -3
  106. package/Option/dist/effect-Option.cjs.dev.js +1 -88
  107. package/Option/dist/effect-Option.cjs.mjs +0 -6
  108. package/Option/dist/effect-Option.cjs.prod.js +1 -88
  109. package/Option/dist/effect-Option.esm.js +2 -83
  110. package/Pool/dist/effect-Pool.cjs.dev.js +24 -24
  111. package/Pool/dist/effect-Pool.cjs.prod.js +24 -24
  112. package/PubSub/dist/effect-PubSub.cjs.dev.js +23 -23
  113. package/PubSub/dist/effect-PubSub.cjs.prod.js +23 -23
  114. package/Queue/dist/effect-Queue.cjs.dev.js +23 -23
  115. package/Queue/dist/effect-Queue.cjs.prod.js +23 -23
  116. package/Random/dist/effect-Random.cjs.dev.js +11 -11
  117. package/Random/dist/effect-Random.cjs.prod.js +11 -11
  118. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +0 -1
  119. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +0 -1
  120. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +332 -90
  121. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.mjs +15 -2
  122. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +332 -90
  123. package/ReadonlyRecord/dist/effect-ReadonlyRecord.esm.js +323 -92
  124. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +0 -1
  125. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +0 -1
  126. package/Ref/dist/effect-Ref.cjs.dev.js +5 -6
  127. package/Ref/dist/effect-Ref.cjs.prod.js +5 -6
  128. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +28 -28
  129. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +28 -28
  130. package/Request/dist/effect-Request.cjs.dev.js +23 -23
  131. package/Request/dist/effect-Request.cjs.prod.js +23 -23
  132. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +30 -30
  133. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +30 -30
  134. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +31 -31
  135. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +31 -31
  136. package/Resource/dist/effect-Resource.cjs.dev.js +26 -26
  137. package/Resource/dist/effect-Resource.cjs.prod.js +26 -26
  138. package/Runtime/dist/effect-Runtime.cjs.dev.js +25 -25
  139. package/Runtime/dist/effect-Runtime.cjs.prod.js +25 -25
  140. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +35 -35
  141. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +35 -35
  142. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +2 -3
  143. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +2 -3
  144. package/STM/dist/effect-STM.cjs.dev.js +38 -38
  145. package/STM/dist/effect-STM.cjs.prod.js +38 -38
  146. package/Schedule/dist/effect-Schedule.cjs.dev.js +16 -16
  147. package/Schedule/dist/effect-Schedule.cjs.prod.js +16 -16
  148. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +0 -1
  149. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +0 -1
  150. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +0 -1
  151. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +0 -1
  152. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +0 -1
  153. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +0 -1
  154. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +4 -5
  155. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +4 -5
  156. package/Scope/dist/effect-Scope.cjs.dev.js +22 -22
  157. package/Scope/dist/effect-Scope.cjs.prod.js +22 -22
  158. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +29 -29
  159. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +29 -29
  160. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +26 -26
  161. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +26 -26
  162. package/Sink/dist/effect-Sink.cjs.dev.js +33 -33
  163. package/Sink/dist/effect-Sink.cjs.prod.js +33 -33
  164. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +0 -1
  165. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +0 -1
  166. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +0 -1
  167. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +0 -1
  168. package/Stream/dist/effect-Stream.cjs.dev.js +36 -36
  169. package/Stream/dist/effect-Stream.cjs.prod.js +36 -36
  170. package/Streamable/dist/effect-Streamable.cjs.dev.js +36 -36
  171. package/Streamable/dist/effect-Streamable.cjs.prod.js +36 -36
  172. package/String/dist/effect-String.cjs.dev.js +2 -2
  173. package/String/dist/effect-String.cjs.prod.js +2 -2
  174. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +41 -41
  175. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +41 -41
  176. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +28 -28
  177. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +28 -28
  178. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +25 -25
  179. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +25 -25
  180. package/TArray/dist/effect-TArray.cjs.dev.js +40 -40
  181. package/TArray/dist/effect-TArray.cjs.prod.js +40 -40
  182. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +39 -39
  183. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +39 -39
  184. package/TMap/dist/effect-TMap.cjs.dev.js +41 -41
  185. package/TMap/dist/effect-TMap.cjs.prod.js +41 -41
  186. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +38 -38
  187. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +38 -38
  188. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +47 -47
  189. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +47 -47
  190. package/TQueue/dist/effect-TQueue.cjs.dev.js +40 -40
  191. package/TQueue/dist/effect-TQueue.cjs.prod.js +40 -40
  192. package/TRandom/dist/effect-TRandom.cjs.dev.js +40 -40
  193. package/TRandom/dist/effect-TRandom.cjs.prod.js +40 -40
  194. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +46 -46
  195. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +46 -46
  196. package/TRef/dist/effect-TRef.cjs.dev.js +38 -38
  197. package/TRef/dist/effect-TRef.cjs.prod.js +38 -38
  198. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +39 -39
  199. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +39 -39
  200. package/TSet/dist/effect-TSet.cjs.dev.js +41 -41
  201. package/TSet/dist/effect-TSet.cjs.prod.js +41 -41
  202. package/Take/dist/effect-Take.cjs.dev.js +30 -30
  203. package/Take/dist/effect-Take.cjs.prod.js +30 -30
  204. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +2 -3
  205. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +2 -3
  206. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +16 -16
  207. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +16 -16
  208. package/TestClock/dist/effect-TestClock.cjs.dev.js +27 -27
  209. package/TestClock/dist/effect-TestClock.cjs.prod.js +27 -27
  210. package/TestContext/dist/effect-TestContext.cjs.dev.js +29 -29
  211. package/TestContext/dist/effect-TestContext.cjs.prod.js +29 -29
  212. package/TestLive/dist/effect-TestLive.cjs.dev.js +11 -11
  213. package/TestLive/dist/effect-TestLive.cjs.prod.js +11 -11
  214. package/TestServices/dist/effect-TestServices.cjs.dev.js +29 -29
  215. package/TestServices/dist/effect-TestServices.cjs.prod.js +29 -29
  216. package/TestSized/dist/effect-TestSized.cjs.dev.js +4 -5
  217. package/TestSized/dist/effect-TestSized.cjs.prod.js +4 -5
  218. package/Tracer/dist/effect-Tracer.cjs.dev.js +28 -21
  219. package/Tracer/dist/effect-Tracer.cjs.mjs +1 -0
  220. package/Tracer/dist/effect-Tracer.cjs.prod.js +28 -21
  221. package/Tracer/dist/effect-Tracer.esm.js +8 -2
  222. package/dist/{Ref-23b67ad9.cjs.prod.js → Ref-00103de4.cjs.prod.js} +1 -1
  223. package/dist/{Ref-c75b5362.cjs.dev.js → Ref-f990026b.cjs.dev.js} +1 -1
  224. package/dist/{cache-7b144c1f.cjs.prod.js → cache-0b148e42.cjs.prod.js} +4 -4
  225. package/dist/{cache-e3d6cc01.cjs.dev.js → cache-d709d5cb.cjs.dev.js} +4 -4
  226. package/dist/{circular-105d525c.cjs.prod.js → circular-5b6f6504.cjs.prod.js} +10 -8
  227. package/dist/{circular-cbfc1699.cjs.dev.js → circular-6d2bb353.cjs.dev.js} +10 -8
  228. package/dist/{circular-3761aff7.cjs.prod.js → circular-952618e5.cjs.prod.js} +7 -7
  229. package/dist/{circular-8baf0205.cjs.dev.js → circular-aa705e70.cjs.dev.js} +7 -7
  230. package/dist/{config-887520b4.cjs.dev.js → config-8a7bf1ae.cjs.dev.js} +3 -3
  231. package/dist/{config-6a5f97fe.cjs.prod.js → config-f0bd27af.cjs.prod.js} +3 -3
  232. package/dist/{configProvider-8567470d.cjs.dev.js → configProvider-3d85d4ef.cjs.dev.js} +4 -4
  233. package/dist/{configProvider-098f7113.cjs.prod.js → configProvider-ae007b10.cjs.prod.js} +4 -4
  234. package/dist/{core-84667e8d.cjs.prod.js → core-473934ce.cjs.prod.js} +125 -41
  235. package/dist/{core-6815193e.cjs.dev.js → core-b4bf44d3.cjs.dev.js} +125 -41
  236. package/dist/{core-8072a539.cjs.prod.js → core-d3f4e713.cjs.prod.js} +2 -2
  237. package/dist/{core-e6f9fdbe.cjs.dev.js → core-dd1edd7a.cjs.dev.js} +2 -2
  238. package/dist/{core-effect-520abd3d.cjs.prod.js → core-effect-6666f2dc.cjs.prod.js} +20 -13
  239. package/dist/{core-effect-5700daea.cjs.dev.js → core-effect-f4b1aad8.cjs.dev.js} +20 -13
  240. package/dist/{dataSource-0ca8ef42.cjs.dev.js → dataSource-9f78e828.cjs.dev.js} +2 -2
  241. package/dist/{dataSource-17adc342.cjs.prod.js → dataSource-d5d7f338.cjs.prod.js} +2 -2
  242. package/dist/declarations/src/BigInt.d.ts +29 -3
  243. package/dist/declarations/src/BigInt.d.ts.map +1 -1
  244. package/dist/declarations/src/Channel.d.ts +0 -2
  245. package/dist/declarations/src/Channel.d.ts.map +1 -1
  246. package/dist/declarations/src/Effect.d.ts +7 -37
  247. package/dist/declarations/src/Effect.d.ts.map +1 -1
  248. package/dist/declarations/src/FiberRef.d.ts +0 -5
  249. package/dist/declarations/src/FiberRef.d.ts.map +1 -1
  250. package/dist/declarations/src/HashMap.d.ts +1 -1
  251. package/dist/declarations/src/Layer.d.ts +7 -10
  252. package/dist/declarations/src/Layer.d.ts.map +1 -1
  253. package/dist/declarations/src/Number.d.ts +24 -1
  254. package/dist/declarations/src/Number.d.ts.map +1 -1
  255. package/dist/declarations/src/Option.d.ts +0 -62
  256. package/dist/declarations/src/Option.d.ts.map +1 -1
  257. package/dist/declarations/src/ReadonlyRecord.d.ts +239 -79
  258. package/dist/declarations/src/ReadonlyRecord.d.ts.map +1 -1
  259. package/dist/declarations/src/Stream.d.ts +0 -2
  260. package/dist/declarations/src/Stream.d.ts.map +1 -1
  261. package/dist/declarations/src/Tracer.d.ts +6 -1
  262. package/dist/declarations/src/Tracer.d.ts.map +1 -1
  263. package/dist/{defaultServices-193b11dc.cjs.dev.js → defaultServices-6a9a2d2b.cjs.dev.js} +8 -79
  264. package/dist/{defaultServices-4c3bf140.cjs.prod.js → defaultServices-8ea5e664.cjs.prod.js} +8 -79
  265. package/dist/{fiber-cbdeec72.cjs.dev.js → fiber-3d944398.cjs.dev.js} +3 -3
  266. package/dist/{fiber-a1a5e429.cjs.prod.js → fiber-cbd0613f.cjs.prod.js} +3 -3
  267. package/dist/{fiberRefs-f631451c.cjs.prod.js → fiberRefs-99808a27.cjs.prod.js} +1 -1
  268. package/dist/{fiberRefs-8d2401f9.cjs.dev.js → fiberRefs-ccc37f30.cjs.dev.js} +1 -1
  269. package/dist/{fiberRuntime-7cb6cd44.cjs.dev.js → fiberRuntime-0c1e7478.cjs.dev.js} +17 -25
  270. package/dist/{fiberRuntime-4691f31b.cjs.prod.js → fiberRuntime-f1e80ca7.cjs.prod.js} +17 -25
  271. package/dist/{groupBy-5174c302.cjs.prod.js → groupBy-30f6e9ba.cjs.prod.js} +4 -4
  272. package/dist/{groupBy-239a6e6e.cjs.dev.js → groupBy-8ae74e3b.cjs.dev.js} +4 -4
  273. package/dist/{key-9b2f3322.cjs.prod.js → key-9c7368c8.cjs.prod.js} +1 -1
  274. package/dist/{key-2d4efb00.cjs.dev.js → key-e3189bbd.cjs.dev.js} +1 -1
  275. package/dist/{layer-d1c204db.cjs.prod.js → layer-bfb9802a.cjs.prod.js} +9 -10
  276. package/dist/{layer-961b15ae.cjs.dev.js → layer-c284cf0d.cjs.dev.js} +9 -10
  277. package/dist/{patch-1771b466.cjs.prod.js → patch-256bc574.cjs.prod.js} +1 -1
  278. package/dist/{patch-32cc7202.cjs.dev.js → patch-cda9b6c8.cjs.dev.js} +1 -1
  279. package/dist/{pathPatch-45b09159.cjs.dev.js → pathPatch-31ce8101.cjs.dev.js} +1 -1
  280. package/dist/{pathPatch-312bd492.cjs.prod.js → pathPatch-40b92af6.cjs.prod.js} +1 -1
  281. package/dist/{pool-f178fcc7.cjs.prod.js → pool-122f0fad.cjs.prod.js} +5 -5
  282. package/dist/{pool-3890e6ce.cjs.dev.js → pool-f6ca2038.cjs.dev.js} +5 -5
  283. package/dist/{query-a6b58e39.cjs.prod.js → query-5cc0ddf8.cjs.prod.js} +3 -3
  284. package/dist/{query-39c40fa6.cjs.dev.js → query-7bffa3c3.cjs.dev.js} +3 -3
  285. package/dist/{queue-4c4bdc04.cjs.dev.js → queue-4166cfdb.cjs.dev.js} +2 -2
  286. package/dist/{queue-5342a8d5.cjs.prod.js → queue-e326fd89.cjs.prod.js} +2 -2
  287. package/dist/{registry-6fbdb4e3.cjs.prod.js → registry-081e18a3.cjs.prod.js} +2 -2
  288. package/dist/{registry-ec8b84a2.cjs.dev.js → registry-377855a9.cjs.dev.js} +2 -2
  289. package/dist/{runtime-3295bc3c.cjs.prod.js → runtime-4078f059.cjs.prod.js} +5 -5
  290. package/dist/{runtime-43b9e2bb.cjs.dev.js → runtime-d4514ab5.cjs.dev.js} +5 -5
  291. package/dist/{schedule-a4be407d.cjs.dev.js → schedule-31e38871.cjs.dev.js} +3 -3
  292. package/dist/{schedule-6431754b.cjs.prod.js → schedule-f036b254.cjs.prod.js} +3 -3
  293. package/dist/{scopedRef-9032002a.cjs.dev.js → scopedRef-5ecf6468.cjs.dev.js} +6 -6
  294. package/dist/{scopedRef-7c2bf3f3.cjs.prod.js → scopedRef-8ce21228.cjs.prod.js} +6 -6
  295. package/dist/{singleProducerAsyncInput-879852ad.cjs.prod.js → singleProducerAsyncInput-8879d87c.cjs.prod.js} +1 -1
  296. package/dist/{singleProducerAsyncInput-82e5c80c.cjs.dev.js → singleProducerAsyncInput-ece7387b.cjs.dev.js} +1 -1
  297. package/dist/{sink-e4280f95.cjs.dev.js → sink-1794329b.cjs.dev.js} +4 -3
  298. package/dist/{sink-95371737.cjs.prod.js → sink-9208df8d.cjs.prod.js} +4 -3
  299. package/dist/{stm-f792171c.cjs.prod.js → stm-6ad7b384.cjs.prod.js} +3 -3
  300. package/dist/{stm-4bf1a928.cjs.dev.js → stm-b080be31.cjs.dev.js} +3 -3
  301. package/dist/{stream-c498ce8a.cjs.dev.js → stream-09aeeac3.cjs.dev.js} +5 -5
  302. package/dist/{stream-254329d0.cjs.prod.js → stream-e19805ca.cjs.prod.js} +5 -5
  303. package/dist/{synchronizedRef-cfe99d53.cjs.dev.js → synchronizedRef-8fa16866.cjs.dev.js} +1 -1
  304. package/dist/{synchronizedRef-5420532c.cjs.prod.js → synchronizedRef-cc04ecbd.cjs.prod.js} +1 -1
  305. package/dist/{tArray-7f227674.cjs.prod.js → tArray-5e42c290.cjs.prod.js} +3 -3
  306. package/dist/{tArray-996f4aba.cjs.dev.js → tArray-7d470ed7.cjs.dev.js} +3 -3
  307. package/dist/{tMap-811797bf.cjs.prod.js → tMap-a2cfde88.cjs.prod.js} +4 -4
  308. package/dist/{tMap-b9665a82.cjs.dev.js → tMap-f0df0ea0.cjs.dev.js} +4 -4
  309. package/dist/{tQueue-0c15312e.cjs.dev.js → tQueue-085f70b5.cjs.dev.js} +3 -3
  310. package/dist/{tQueue-8a6a0244.cjs.prod.js → tQueue-b80e940e.cjs.prod.js} +3 -3
  311. package/dist/{tRef-44d17d07.cjs.dev.js → tRef-2e495254.cjs.dev.js} +1 -1
  312. package/dist/{tRef-2892ee02.cjs.prod.js → tRef-42a212cb.cjs.prod.js} +1 -1
  313. package/internal/cache.esm.js +1 -1
  314. package/internal/channel.esm.js +3 -2
  315. package/internal/core-effect.esm.js +18 -11
  316. package/internal/core.esm.js +52 -41
  317. package/internal/fiberRuntime.esm.js +7 -14
  318. package/internal/layer/circular.esm.js +9 -6
  319. package/internal/layer.esm.js +3 -3
  320. package/internal/sink.esm.js +1 -1
  321. package/internal/stream.esm.js +6 -6
  322. package/internal/tracer.esm.js +7 -4
  323. package/package.json +1 -1
  324. package/src/BigInt.ts +51 -17
  325. package/src/Channel.ts +0 -2
  326. package/src/Effect.ts +9 -44
  327. package/src/Either.ts +1 -1
  328. package/src/FiberRef.ts +0 -6
  329. package/src/HashMap.ts +1 -1
  330. package/src/Layer.ts +7 -10
  331. package/src/Number.ts +29 -1
  332. package/src/Option.ts +1 -94
  333. package/src/ReadonlyRecord.ts +383 -110
  334. package/src/Stream.ts +0 -2
  335. package/src/Tracer.ts +6 -1
  336. package/src/internal/channel.ts +14 -5
  337. package/src/internal/core-effect.ts +34 -24
  338. package/src/internal/core.ts +83 -70
  339. package/src/internal/fiberRuntime.ts +4 -29
  340. package/src/internal/layer/circular.ts +10 -13
  341. package/src/internal/layer.ts +8 -8
  342. package/src/internal/stream.ts +3 -5
  343. package/src/internal/tracer.ts +7 -3
  344. /package/dist/{FiberId-54d8bd67.cjs.prod.js → FiberId-0f0b7779.cjs.prod.js} +0 -0
  345. /package/dist/{FiberId-6708cdca.cjs.dev.js → FiberId-6595cf4c.cjs.dev.js} +0 -0
  346. /package/dist/{HashSet-86613304.cjs.prod.js → HashSet-251c8294.cjs.prod.js} +0 -0
  347. /package/dist/{HashSet-dd020cb0.cjs.dev.js → HashSet-c12c037b.cjs.dev.js} +0 -0
  348. /package/dist/{RuntimeFlagsPatch-35ed8dee.cjs.prod.js → RuntimeFlagsPatch-3890e860.cjs.prod.js} +0 -0
  349. /package/dist/{RuntimeFlagsPatch-9cbc441d.cjs.dev.js → RuntimeFlagsPatch-7d62915d.cjs.dev.js} +0 -0
  350. /package/dist/{boundaries-6eea221f.cjs.dev.js → boundaries-8dfe50cb.cjs.dev.js} +0 -0
  351. /package/dist/{boundaries-26f0dc82.cjs.prod.js → boundaries-ebe66d32.cjs.prod.js} +0 -0
  352. /package/dist/{configError-a824b415.cjs.dev.js → configError-0c09b93c.cjs.dev.js} +0 -0
  353. /package/dist/{configError-856c7153.cjs.prod.js → configError-9021016b.cjs.prod.js} +0 -0
  354. /package/dist/{configSecret-663cfb59.cjs.prod.js → configSecret-0bdfadd8.cjs.prod.js} +0 -0
  355. /package/dist/{configSecret-23cf1a3f.cjs.dev.js → configSecret-938818ad.cjs.dev.js} +0 -0
  356. /package/dist/{hook-8e8bee6a.cjs.dev.js → hook-ad5af092.cjs.dev.js} +0 -0
  357. /package/dist/{hook-c2815d51.cjs.prod.js → hook-cab99f9e.cjs.prod.js} +0 -0
  358. /package/dist/{keyType-4ec0b247.cjs.prod.js → keyType-2ae6a00e.cjs.prod.js} +0 -0
  359. /package/dist/{keyType-f30c9fa4.cjs.dev.js → keyType-36962f62.cjs.dev.js} +0 -0
  360. /package/dist/{take-981a87eb.cjs.prod.js → take-114476e5.cjs.prod.js} +0 -0
  361. /package/dist/{take-bfd0a3ed.cjs.dev.js → take-d4fa1beb.cjs.dev.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { isLeft } from '../../Either/dist/effect-Either.esm.js';
2
+ import { equivalence } from '../../Equal/dist/effect-Equal.esm.js';
2
3
  import { dual, identity } from '../../Function/dist/effect-Function.esm.js';
3
- import { some, none, isSome } from '../../Option/dist/effect-Option.esm.js';
4
+ import { some as some$1, none, isSome } from '../../Option/dist/effect-Option.esm.js';
4
5
 
5
6
  /**
6
7
  * This module provides utility functions for working with records in TypeScript.
@@ -8,21 +9,16 @@ import { some, none, isSome } from '../../Option/dist/effect-Option.esm.js';
8
9
  * @since 2.0.0
9
10
  */
10
11
 
11
- // -------------------------------------------------------------------------------------
12
- // models
13
- // -------------------------------------------------------------------------------------
14
-
15
12
  /**
16
13
  * @category models
17
14
  * @since 2.0.0
18
15
  */
16
+
19
17
  /**
20
18
  * @category type lambdas
21
19
  * @since 2.0.0
22
20
  */
23
- // -------------------------------------------------------------------------------------
24
- // constructors
25
- // -------------------------------------------------------------------------------------
21
+
26
22
  /**
27
23
  * Creates a new, empty record.
28
24
  *
@@ -31,14 +27,10 @@ import { some, none, isSome } from '../../Option/dist/effect-Option.esm.js';
31
27
  */
32
28
  const empty = () => ({});
33
29
 
34
- // -------------------------------------------------------------------------------------
35
- // guards
36
- // -------------------------------------------------------------------------------------
37
-
38
30
  /**
39
- * Determine if a `Record` is empty.
31
+ * Determine if a record is empty.
40
32
  *
41
- * @param self - `Record` to test for emptiness.
33
+ * @param self - record to test for emptiness.
42
34
  *
43
35
  * @example
44
36
  * import { isEmptyRecord } from "effect/ReadonlyRecord"
@@ -59,9 +51,9 @@ const isEmptyRecord = self => {
59
51
  };
60
52
 
61
53
  /**
62
- * Determine if a `ReadonlyRecord` is empty.
54
+ * Determine if a record is empty.
63
55
  *
64
- * @param self - `ReadonlyRecord` to test for emptiness.
56
+ * @param self - record to test for emptiness.
65
57
  *
66
58
  * @example
67
59
  * import { isEmptyReadonlyRecord } from "effect/ReadonlyRecord"
@@ -74,10 +66,6 @@ const isEmptyRecord = self => {
74
66
  */
75
67
  const isEmptyReadonlyRecord = isEmptyRecord;
76
68
 
77
- // -------------------------------------------------------------------------------------
78
- // conversions
79
- // -------------------------------------------------------------------------------------
80
-
81
69
  /**
82
70
  * Takes an iterable and a projection function and returns a record.
83
71
  * The projection function maps each value of the iterable to a tuple of a key and a value, which is then added to the resulting record.
@@ -86,7 +74,7 @@ const isEmptyReadonlyRecord = isEmptyRecord;
86
74
  * @param f - A projection function that maps values of the iterable to a tuple of a key and a value.
87
75
  *
88
76
  * @example
89
- * import { fromIterable } from 'effect/ReadonlyRecord'
77
+ * import { fromIterable } from "effect/ReadonlyRecord"
90
78
  *
91
79
  * const input = [1, 2, 3, 4]
92
80
  *
@@ -116,7 +104,7 @@ const fromIterable = /*#__PURE__*/dual(2, (self, f) => {
116
104
  * @param self - The iterable of key-value pairs.
117
105
  *
118
106
  * @example
119
- * import { fromEntries } from 'effect/ReadonlyRecord'
107
+ * import { fromEntries } from "effect/ReadonlyRecord"
120
108
  *
121
109
  * const input: Array<[string, number]> = [["a", 1], ["b", 2]]
122
110
  *
@@ -128,10 +116,10 @@ const fromIterable = /*#__PURE__*/dual(2, (self, f) => {
128
116
  const fromEntries = /*#__PURE__*/fromIterable(identity);
129
117
 
130
118
  /**
131
- * Transforms the values of a `ReadonlyRecord` into an `Array` with a custom mapping function.
119
+ * Transforms the values of a record into an `Array` with a custom mapping function.
132
120
  *
133
- * @param self - The `ReadonlyRecord` to transform.
134
- * @param f - The custom mapping function to apply to each key/value of the `ReadonlyRecord`.
121
+ * @param self - The record to transform.
122
+ * @param f - The custom mapping function to apply to each key/value of the record.
135
123
  *
136
124
  * @example
137
125
  * import { collect } from "effect/ReadonlyRecord"
@@ -167,31 +155,9 @@ const collect = /*#__PURE__*/dual(2, (self, f) => {
167
155
  const toEntries = /*#__PURE__*/collect((key, value) => [key, value]);
168
156
 
169
157
  /**
170
- * Takes a record and returns an array of tuples containing its keys and values.
171
- *
172
- * Alias of {@link toEntries}.
173
- *
174
- * @param self - The record to transform.
175
- *
176
- * @example
177
- * import { toArray } from "effect/ReadonlyRecord"
178
- *
179
- * const x = { a: 1, b: 2, c: 3 }
180
- * assert.deepStrictEqual(toArray(x), [["a", 1], ["b", 2], ["c", 3]])
181
- *
182
- * @category conversions
183
- * @since 2.0.0
184
- */
185
- const toArray = toEntries;
186
-
187
- // -------------------------------------------------------------------------------------
188
- // utils
189
- // -------------------------------------------------------------------------------------
190
-
191
- /**
192
- * Returns the number of key/value pairs in a `ReadonlyRecord`.
158
+ * Returns the number of key/value pairs in a record.
193
159
  *
194
- * @param self - A `ReadonlyRecord` to calculate the number of key/value pairs in.
160
+ * @param self - A record to calculate the number of key/value pairs in.
195
161
  *
196
162
  * @example
197
163
  * import { size } from "effect/ReadonlyRecord";
@@ -203,13 +169,13 @@ const toArray = toEntries;
203
169
  const size = self => Object.keys(self).length;
204
170
 
205
171
  /**
206
- * Check if a given `key` exists in a `ReadonlyRecord`.
172
+ * Check if a given `key` exists in a record.
207
173
  *
208
- * @param self - the `ReadonlyRecord` to look in.
209
- * @param key - the key to look for in the `ReadonlyRecord`.
174
+ * @param self - the record to look in.
175
+ * @param key - the key to look for in the record.
210
176
  *
211
177
  * @example
212
- * import { has } from 'effect/ReadonlyRecord'
178
+ * import { has } from "effect/ReadonlyRecord"
213
179
  *
214
180
  * assert.deepStrictEqual(has({ a: 1, b: 2 }, "a"), true);
215
181
  * assert.deepStrictEqual(has({ a: 1, b: 2 }, "c"), false);
@@ -219,10 +185,10 @@ const size = self => Object.keys(self).length;
219
185
  const has = /*#__PURE__*/dual(2, (self, key) => Object.prototype.hasOwnProperty.call(self, key));
220
186
 
221
187
  /**
222
- * Retrieve a value at a particular key from a `ReadonlyRecord`, returning it wrapped in an `Option`.
188
+ * Retrieve a value at a particular key from a record, returning it wrapped in an `Option`.
223
189
  *
224
- * @param self - The `ReadonlyRecord` to retrieve value from.
225
- * @param key - Key to retrieve from `ReadonlyRecord`.
190
+ * @param self - The record to retrieve value from.
191
+ * @param key - Key to retrieve from record.
226
192
  *
227
193
  * @example
228
194
  * import { get } from "effect/ReadonlyRecord"
@@ -235,13 +201,13 @@ const has = /*#__PURE__*/dual(2, (self, key) => Object.prototype.hasOwnProperty.
235
201
  *
236
202
  * @since 2.0.0
237
203
  */
238
- const get = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? some(self[key]) : none());
204
+ const get = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? some$1(self[key]) : none());
239
205
 
240
206
  /**
241
207
  * Apply a function to the element at the specified key, creating a new record,
242
208
  * or return `None` if the key doesn't exist.
243
209
  *
244
- * @param self - The `ReadonlyRecord` to be updated.
210
+ * @param self - The record to be updated.
245
211
  * @param key - The key of the element to modify.
246
212
  * @param f - The function to apply to the element.
247
213
  *
@@ -270,13 +236,13 @@ const modifyOption = /*#__PURE__*/dual(3, (self, key, f) => {
270
236
  ...self
271
237
  };
272
238
  out[key] = f(self[key]);
273
- return some(out);
239
+ return some$1(out);
274
240
  });
275
241
 
276
242
  /**
277
243
  * Replaces a value in the record with the new value passed as parameter.
278
244
  *
279
- * @param self - The `ReadonlyRecord` to be updated.
245
+ * @param self - The record to be updated.
280
246
  * @param key - The key to search for in the record.
281
247
  * @param b - The new value to replace the existing value with.
282
248
  *
@@ -295,13 +261,13 @@ const modifyOption = /*#__PURE__*/dual(3, (self, key, f) => {
295
261
  const replaceOption = /*#__PURE__*/dual(3, (self, key, b) => modifyOption(self, key, () => b));
296
262
 
297
263
  /**
298
- * Removes a key from a `ReadonlyRecord` and returns a new `Record`
264
+ * Removes a key from a record and returns a new record
299
265
  *
300
- * @param self - the `ReadonlyRecord` to remove the key from.
301
- * @param key - the key to remove from the `ReadonlyRecord`.
266
+ * @param self - the record to remove the key from.
267
+ * @param key - the key to remove from the record.
302
268
  *
303
269
  * @example
304
- * import { remove } from 'effect/ReadonlyRecord'
270
+ * import { remove } from "effect/ReadonlyRecord"
305
271
  *
306
272
  * assert.deepStrictEqual(remove({ a: 1, b: 2 }, "a"), { b: 2 })
307
273
  *
@@ -316,15 +282,15 @@ const remove = /*#__PURE__*/dual(2, (self, key) => {
316
282
  });
317
283
 
318
284
  /**
319
- * Retrieves the value of the property with the given `key` from a `ReadonlyRecord` and returns an `Option`
320
- * of a tuple with the value and the `ReadonlyRecord` with the removed property.
285
+ * Retrieves the value of the property with the given `key` from a record and returns an `Option`
286
+ * of a tuple with the value and the record with the removed property.
321
287
  * If the key is not present, returns `O.none`.
322
288
  *
323
- * @param self - The input `ReadonlyRecord`.
289
+ * @param self - The input record.
324
290
  * @param key - The key of the property to retrieve.
325
291
  *
326
292
  * @example
327
- * import { pop } from 'effect/ReadonlyRecord'
293
+ * import { pop } from "effect/ReadonlyRecord"
328
294
  * import { some, none } from 'effect/Option'
329
295
  *
330
296
  * assert.deepStrictEqual(pop({ a: 1, b: 2 }, "a"), some([1, { b: 2 }]))
@@ -333,13 +299,13 @@ const remove = /*#__PURE__*/dual(2, (self, key) => {
333
299
  * @category record
334
300
  * @since 2.0.0
335
301
  */
336
- const pop = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? some([self[key], remove(self, key)]) : none());
302
+ const pop = /*#__PURE__*/dual(2, (self, key) => has(self, key) ? some$1([self[key], remove(self, key)]) : none());
337
303
 
338
304
  /**
339
- * Maps a `ReadonlyRecord` into another `Record` by applying a transformation function to each of its values.
305
+ * Maps a record into another record by applying a transformation function to each of its values.
340
306
  *
341
- * @param self - The `ReadonlyRecord` to be mapped.
342
- * @param f - A transformation function that will be applied to each of the values in the `ReadonlyRecord`.
307
+ * @param self - The record to be mapped.
308
+ * @param f - A transformation function that will be applied to each of the values in the record.
343
309
  *
344
310
  * @example
345
311
  * import { map } from "effect/ReadonlyRecord"
@@ -363,14 +329,14 @@ const map = /*#__PURE__*/dual(2, (self, f) => {
363
329
  });
364
330
 
365
331
  /**
366
- * Transforms a `ReadonlyRecord` into a `Record` by applying the function `f` to each key and value in the original `ReadonlyRecord`.
367
- * If the function returns `Some`, the key-value pair is included in the output `Record`.
332
+ * Transforms a record into a record by applying the function `f` to each key and value in the original record.
333
+ * If the function returns `Some`, the key-value pair is included in the output record.
368
334
  *
369
- * @param self - The input `ReadonlyRecord`.
335
+ * @param self - The input record.
370
336
  * @param f - The transformation function.
371
337
  *
372
338
  * @example
373
- * import { filterMap } from 'effect/ReadonlyRecord'
339
+ * import { filterMap } from "effect/ReadonlyRecord"
374
340
  * import { some, none } from 'effect/Option'
375
341
  *
376
342
  * const x = { a: 1, b: 2, c: 3 }
@@ -393,11 +359,11 @@ const filterMap = /*#__PURE__*/dual(2, (self, f) => {
393
359
  /**
394
360
  * Selects properties from a record whose values match the given predicate.
395
361
  *
396
- * @param self - The `ReadonlyRecord` to filter.
362
+ * @param self - The record to filter.
397
363
  * @param predicate - A function that returns a `boolean` value to determine if the entry should be included in the new record.
398
364
  *
399
365
  * @example
400
- * import { filter } from 'effect/ReadonlyRecord'
366
+ * import { filter } from "effect/ReadonlyRecord"
401
367
  *
402
368
  * const x = { a: 1, b: 2, c: 3, d: 4 }
403
369
  * assert.deepStrictEqual(filter(x, (n) => n > 2), { c: 3, d: 4 })
@@ -416,12 +382,12 @@ const filter = /*#__PURE__*/dual(2, (self, predicate) => {
416
382
  });
417
383
 
418
384
  /**
419
- * Given a `ReadonlyRecord` with `Option` values, returns a `Record` with only the `Some` values, with the same keys.
385
+ * Given a record with `Option` values, returns a record with only the `Some` values, with the same keys.
420
386
  *
421
- * @param self - A `ReadonlyRecord` with `Option` values.
387
+ * @param self - A record with `Option` values.
422
388
  *
423
389
  * @example
424
- * import { compact } from 'effect/ReadonlyRecord'
390
+ * import { compact } from "effect/ReadonlyRecord"
425
391
  * import { some, none } from 'effect/Option'
426
392
  *
427
393
  * assert.deepStrictEqual(
@@ -435,13 +401,13 @@ const filter = /*#__PURE__*/dual(2, (self, predicate) => {
435
401
  const compact = /*#__PURE__*/filterMap(identity);
436
402
 
437
403
  /**
438
- * Partitions the elements of a `ReadonlyRecord` into two groups: those that match a predicate, and those that don't.
404
+ * Partitions the elements of a record into two groups: those that match a predicate, and those that don't.
439
405
  *
440
- * @param self - The `ReadonlyRecord` to partition.
406
+ * @param self - The record to partition.
441
407
  * @param f - The predicate function to apply to each element.
442
408
  *
443
409
  * @example
444
- * import { partitionMap } from 'effect/ReadonlyRecord'
410
+ * import { partitionMap } from "effect/ReadonlyRecord"
445
411
  * import { left, right } from 'effect/Either'
446
412
  *
447
413
  * const x = { a: 1, b: 2, c: 3 }
@@ -466,13 +432,13 @@ const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
466
432
  });
467
433
 
468
434
  /**
469
- * Partitions a `ReadonlyRecord` of `Either` values into two separate records,
435
+ * Partitions a record of `Either` values into two separate records,
470
436
  * one with the `Left` values and one with the `Right` values.
471
437
  *
472
- * @param self - the `ReadonlyRecord` to partition.
438
+ * @param self - the record to partition.
473
439
  *
474
440
  * @example
475
- * import { separate } from 'effect/ReadonlyRecord'
441
+ * import { separate } from "effect/ReadonlyRecord"
476
442
  * import { left, right } from 'effect/Either'
477
443
  *
478
444
  * assert.deepStrictEqual(
@@ -486,13 +452,13 @@ const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
486
452
  const separate = /*#__PURE__*/partitionMap(identity);
487
453
 
488
454
  /**
489
- * Partitions a `ReadonlyRecord` into two separate `Record`s based on the result of a predicate function.
455
+ * Partitions a record into two separate records based on the result of a predicate function.
490
456
  *
491
- * @param self - The input `ReadonlyRecord` to partition.
492
- * @param predicate - The partitioning function to determine the partitioning of each value of the `ReadonlyRecord`.
457
+ * @param self - The input record to partition.
458
+ * @param predicate - The partitioning function to determine the partitioning of each value of the record.
493
459
  *
494
460
  * @example
495
- * import { partition } from 'effect/ReadonlyRecord'
461
+ * import { partition } from "effect/ReadonlyRecord"
496
462
  *
497
463
  * assert.deepStrictEqual(
498
464
  * partition({ a: 1, b: 3 }, (n) => n > 2),
@@ -515,4 +481,269 @@ const partition = /*#__PURE__*/dual(2, (self, predicate) => {
515
481
  return [left, right];
516
482
  });
517
483
 
518
- export { collect, compact, empty, filter, filterMap, fromEntries, fromIterable, get, has, isEmptyReadonlyRecord, isEmptyRecord, map, modifyOption, partition, partitionMap, pop, remove, replaceOption, separate, size, toArray, toEntries };
484
+ /**
485
+ * Retrieve the keys of a given record as an array.
486
+ *
487
+ * @param self - The object for which you want to get the keys.
488
+ *
489
+ * @since 2.0.0
490
+ */
491
+ const keys = self => Object.keys(self);
492
+
493
+ /**
494
+ * Retrieve the values of a given record as an array.
495
+ *
496
+ * @param self - The object for which you want to get the values.
497
+ *
498
+ * @since 2.0.0
499
+ */
500
+ const values = self => collect(self, (_, a) => a);
501
+
502
+ /**
503
+ * Add a new key-value pair or update an existing key's value in a record.
504
+ *
505
+ * @param self - The record to which you want to add or update a key-value pair.
506
+ * @param key - The key you want to add or update.
507
+ * @param values - The value you want to associate with the key.
508
+ *
509
+ * @example
510
+ * import { upsert } from "effect/ReadonlyRecord"
511
+ *
512
+ * assert.deepStrictEqual(upsert("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
513
+ * assert.deepStrictEqual(upsert("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
514
+ *
515
+ * @since 2.0.0
516
+ */
517
+ const upsert = /*#__PURE__*/dual(3, (self, key, value) => {
518
+ const out = {
519
+ ...self
520
+ };
521
+ out[key] = value;
522
+ return out;
523
+ });
524
+
525
+ /**
526
+ * Replace a key's value in a record and return the updated record.
527
+ *
528
+ * @param self - The original record.
529
+ * @param key - The key to replace.
530
+ * @param value - The new value to associate with the key.
531
+ *
532
+ * @example
533
+ * import { update } from "effect/ReadonlyRecord"
534
+ * import { some, none } from "effect/Option"
535
+ *
536
+ * assert.deepStrictEqual(update("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
537
+ * assert.deepStrictEqual(update("c", 3)({ a: 1, b: 2 }), { a: 1, b: 2 });
538
+ *
539
+ * @since 2.0.0
540
+ */
541
+ const update = /*#__PURE__*/dual(3, (self, key, value) => {
542
+ const out = {
543
+ ...self
544
+ };
545
+ if (has(self, key)) {
546
+ out[key] = value;
547
+ }
548
+ return out;
549
+ });
550
+
551
+ /**
552
+ * Check if all the keys and values in one record are also found in another record.
553
+ *
554
+ * @param self - The first record to check.
555
+ * @param that - The second record to compare against.
556
+ * @param equivalence - A function to compare values.
557
+ *
558
+ * @since 2.0.0
559
+ */
560
+ const isSubrecordBy = equivalence => dual(2, (self, that) => {
561
+ for (const key in self) {
562
+ if (!has(that, key) || !equivalence(self[key], that[key])) {
563
+ return false;
564
+ }
565
+ }
566
+ return true;
567
+ });
568
+
569
+ /**
570
+ * Check if one record is a subrecord of another, meaning it contains all the keys and values found in the second record.
571
+ * This comparison uses default equality checks (`Equal.equivalence()`).
572
+ *
573
+ * @param self - The first record to check.
574
+ * @param that - The second record to compare against.
575
+ *
576
+ * @since 2.0.0
577
+ */
578
+ const isSubrecord = /*#__PURE__*/isSubrecordBy( /*#__PURE__*/equivalence());
579
+
580
+ /**
581
+ * Reduce a record to a single value by combining its entries with a specified function.
582
+ *
583
+ * @param self - The record to reduce.
584
+ * @param zero - The initial value of the accumulator.
585
+ * @param f - The function to combine entries (accumulator, value, key).
586
+ *
587
+ * @category folding
588
+ * @since 2.0.0
589
+ */
590
+ const reduce = /*#__PURE__*/dual(3, (self, zero, f) => {
591
+ let out = zero;
592
+ for (const key in self) {
593
+ out = f(out, self[key], key);
594
+ }
595
+ return out;
596
+ });
597
+
598
+ /**
599
+ * Check if all entries in a record meet a specific condition.
600
+ *
601
+ * @param self - The record to check.
602
+ * @param predicate - The condition to test entries (value, key).
603
+ *
604
+ * @since 2.0.0
605
+ */
606
+ const every = /*#__PURE__*/dual(2, (self, predicate) => {
607
+ for (const key in self) {
608
+ if (!predicate(self[key], key)) {
609
+ return false;
610
+ }
611
+ }
612
+ return true;
613
+ });
614
+
615
+ /**
616
+ * Check if any entry in a record meets a specific condition.
617
+ *
618
+ * @param self - The record to check.
619
+ * @param predicate - The condition to test entries (value, key).
620
+ *
621
+ * @since 2.0.0
622
+ */
623
+ const some = /*#__PURE__*/dual(2, (self, predicate) => {
624
+ for (const key in self) {
625
+ if (predicate(self[key], key)) {
626
+ return true;
627
+ }
628
+ }
629
+ return false;
630
+ });
631
+
632
+ /**
633
+ * Merge two records, preserving entries that exist in either of the records.
634
+ *
635
+ * @param self - The first record.
636
+ * @param that - The second record to combine with the first.
637
+ * @param combine - A function to specify how to merge entries with the same key.
638
+ *
639
+ * @since 2.0.0
640
+ */
641
+ const union = /*#__PURE__*/dual(3, (self, that, combine) => {
642
+ if (isEmptyRecord(self)) {
643
+ return {
644
+ ...that
645
+ };
646
+ }
647
+ if (isEmptyRecord(that)) {
648
+ return {
649
+ ...self
650
+ };
651
+ }
652
+ const out = {};
653
+ for (const key in self) {
654
+ if (has(that, key)) {
655
+ out[key] = combine(self[key], that[key]);
656
+ } else {
657
+ out[key] = self[key];
658
+ }
659
+ }
660
+ for (const key in that) {
661
+ if (!has(out, key)) {
662
+ out[key] = that[key];
663
+ }
664
+ }
665
+ return out;
666
+ });
667
+
668
+ /**
669
+ * Merge two records, retaining only the entries that exist in both records.
670
+ *
671
+ * @param self - The first record.
672
+ * @param that - The second record to merge with the first.
673
+ * @param combine - A function to specify how to merge entries with the same key.
674
+ *
675
+ * @since 2.0.0
676
+ */
677
+ const intersection = /*#__PURE__*/dual(3, (self, that, combine) => {
678
+ if (isEmptyRecord(self) || isEmptyRecord(that)) {
679
+ return empty();
680
+ }
681
+ const out = {};
682
+ for (const key in self) {
683
+ if (has(that, key)) {
684
+ out[key] = combine(self[key], that[key]);
685
+ }
686
+ }
687
+ return out;
688
+ });
689
+
690
+ /**
691
+ * Merge two records, preserving only the entries that are unique to each record.
692
+ *
693
+ * @param self - The first record.
694
+ * @param that - The second record to compare with the first.
695
+ *
696
+ * @since 2.0.0
697
+ */
698
+ const difference = /*#__PURE__*/dual(2, (self, that) => {
699
+ if (isEmptyRecord(self)) {
700
+ return {
701
+ ...that
702
+ };
703
+ }
704
+ if (isEmptyRecord(that)) {
705
+ return {
706
+ ...self
707
+ };
708
+ }
709
+ const out = {};
710
+ for (const key in self) {
711
+ if (!has(that, key)) {
712
+ out[key] = self[key];
713
+ }
714
+ }
715
+ for (const key in that) {
716
+ if (!has(self, key)) {
717
+ out[key] = that[key];
718
+ }
719
+ }
720
+ return out;
721
+ });
722
+
723
+ /**
724
+ * Create an `Equivalence` for records using the provided `Equivalence` for values.
725
+ *
726
+ * @param equivalence - An `Equivalence` for the values contained in the records.
727
+ *
728
+ * @category instances
729
+ * @since 2.0.0
730
+ */
731
+ const getEquivalence = equivalence => {
732
+ const is = isSubrecordBy(equivalence);
733
+ return (self, that) => is(self, that) && is(that, self);
734
+ };
735
+
736
+ /**
737
+ * Create a non-empty record from a single element.
738
+ *
739
+ * @param key - The key for the element.
740
+ * @param value - The value associated with the key.
741
+ *
742
+ * @category constructors
743
+ * @since 2.0.0
744
+ */
745
+ const singleton = (key, value) => ({
746
+ [key]: value
747
+ });
748
+
749
+ export { collect, compact, difference, empty, every, filter, filterMap, fromEntries, fromIterable, get, getEquivalence, has, intersection, isEmptyReadonlyRecord, isEmptyRecord, isSubrecord, isSubrecordBy, keys, map, modifyOption, partition, partitionMap, pop, reduce, remove, replaceOption, separate, singleton, size, some, toEntries, union, update, upsert, values };
@@ -22,7 +22,6 @@ require('../../Utils/dist/effect-Utils.cjs.dev.js');
22
22
  require('../../GlobalValue/dist/effect-GlobalValue.cjs.dev.js');
23
23
  require('../../dist/ReadonlyArray-9a1474f6.cjs.dev.js');
24
24
  require('../../ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js');
25
- require('../../Number/dist/effect-Number.cjs.dev.js');
26
25
 
27
26
  /** @internal */
28
27
  const Direction$1 = {
@@ -22,7 +22,6 @@ require('../../Utils/dist/effect-Utils.cjs.prod.js');
22
22
  require('../../GlobalValue/dist/effect-GlobalValue.cjs.prod.js');
23
23
  require('../../dist/ReadonlyArray-f9ed7a05.cjs.prod.js');
24
24
  require('../../ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js');
25
- require('../../Number/dist/effect-Number.cjs.prod.js');
26
25
 
27
26
  /** @internal */
28
27
  const Direction$1 = {
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Ref_dist_effectRef = require('../../dist/Ref-c75b5362.cjs.dev.js');
5
+ var Ref_dist_effectRef = require('../../dist/Ref-f990026b.cjs.dev.js');
6
6
  require('../../Function/dist/effect-Function.cjs.dev.js');
7
- require('../../dist/core-6815193e.cjs.dev.js');
7
+ require('../../dist/core-b4bf44d3.cjs.dev.js');
8
8
  require('../../Chunk/dist/effect-Chunk.cjs.dev.js');
9
9
  require('../../Equal/dist/effect-Equal.cjs.dev.js');
10
10
  require('../../Hash/dist/effect-Hash.cjs.dev.js');
@@ -18,7 +18,6 @@ require('../../dist/Either-e7500e90.cjs.dev.js');
18
18
  require('../../dist/Option-01caa9d4.cjs.dev.js');
19
19
  require('../../dist/Effectable-71c10ab9.cjs.dev.js');
20
20
  require('../../Pipeable/dist/effect-Pipeable.cjs.dev.js');
21
- require('../../Number/dist/effect-Number.cjs.dev.js');
22
21
  require('../../Order/dist/effect-Order.cjs.dev.js');
23
22
  require('../../ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js');
24
23
  require('../../Either/dist/effect-Either.cjs.dev.js');
@@ -28,13 +27,13 @@ require('../../Context/dist/effect-Context.cjs.dev.js');
28
27
  require('../../dist/Context-607e9b4c.cjs.dev.js');
29
28
  require('../../Differ/dist/effect-Differ.cjs.dev.js');
30
29
  require('../../HashMap/dist/effect-HashMap.cjs.dev.js');
31
- require('../../dist/HashSet-dd020cb0.cjs.dev.js');
30
+ require('../../dist/HashSet-c12c037b.cjs.dev.js');
32
31
  require('../../dist/Stack-ada2d201.cjs.dev.js');
33
32
  require('../../HashSet/dist/effect-HashSet.cjs.dev.js');
34
- require('../../dist/FiberId-6708cdca.cjs.dev.js');
33
+ require('../../dist/FiberId-6595cf4c.cjs.dev.js');
35
34
  require('../../MutableRef/dist/effect-MutableRef.cjs.dev.js');
36
35
  require('../../List/dist/effect-List.cjs.dev.js');
37
- require('../../dist/RuntimeFlagsPatch-9cbc441d.cjs.dev.js');
36
+ require('../../dist/RuntimeFlagsPatch-7d62915d.cjs.dev.js');
38
37
 
39
38
 
40
39