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
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Either_dist_effectEither = require('../../Either/dist/effect-Either.cjs.dev.js');
6
+ var Equal_dist_effectEqual = require('../../Equal/dist/effect-Equal.cjs.dev.js');
6
7
  var Function_dist_effectFunction = require('../../Function/dist/effect-Function.cjs.dev.js');
7
8
  var Option_dist_effectOption = require('../../Option/dist/effect-Option.cjs.dev.js');
8
9
  require('../../Equivalence/dist/effect-Equivalence.cjs.dev.js');
9
10
  require('../../dist/Either-e7500e90.cjs.dev.js');
10
- require('../../Equal/dist/effect-Equal.cjs.dev.js');
11
11
  require('../../Hash/dist/effect-Hash.cjs.dev.js');
12
12
  require('../../GlobalValue/dist/effect-GlobalValue.cjs.dev.js');
13
13
  require('../../Utils/dist/effect-Utils.cjs.dev.js');
@@ -16,7 +16,6 @@ require('../../Inspectable/dist/effect-Inspectable.cjs.dev.js');
16
16
  require('../../dist/Option-01caa9d4.cjs.dev.js');
17
17
  require('../../dist/Effectable-71c10ab9.cjs.dev.js');
18
18
  require('../../Pipeable/dist/effect-Pipeable.cjs.dev.js');
19
- require('../../Number/dist/effect-Number.cjs.dev.js');
20
19
  require('../../Order/dist/effect-Order.cjs.dev.js');
21
20
 
22
21
  /**
@@ -25,21 +24,16 @@ require('../../Order/dist/effect-Order.cjs.dev.js');
25
24
  * @since 2.0.0
26
25
  */
27
26
 
28
- // -------------------------------------------------------------------------------------
29
- // models
30
- // -------------------------------------------------------------------------------------
31
-
32
27
  /**
33
28
  * @category models
34
29
  * @since 2.0.0
35
30
  */
31
+
36
32
  /**
37
33
  * @category type lambdas
38
34
  * @since 2.0.0
39
35
  */
40
- // -------------------------------------------------------------------------------------
41
- // constructors
42
- // -------------------------------------------------------------------------------------
36
+
43
37
  /**
44
38
  * Creates a new, empty record.
45
39
  *
@@ -48,14 +42,10 @@ require('../../Order/dist/effect-Order.cjs.dev.js');
48
42
  */
49
43
  const empty = () => ({});
50
44
 
51
- // -------------------------------------------------------------------------------------
52
- // guards
53
- // -------------------------------------------------------------------------------------
54
-
55
45
  /**
56
- * Determine if a `Record` is empty.
46
+ * Determine if a record is empty.
57
47
  *
58
- * @param self - `Record` to test for emptiness.
48
+ * @param self - record to test for emptiness.
59
49
  *
60
50
  * @example
61
51
  * import { isEmptyRecord } from "effect/ReadonlyRecord"
@@ -76,9 +66,9 @@ const isEmptyRecord = self => {
76
66
  };
77
67
 
78
68
  /**
79
- * Determine if a `ReadonlyRecord` is empty.
69
+ * Determine if a record is empty.
80
70
  *
81
- * @param self - `ReadonlyRecord` to test for emptiness.
71
+ * @param self - record to test for emptiness.
82
72
  *
83
73
  * @example
84
74
  * import { isEmptyReadonlyRecord } from "effect/ReadonlyRecord"
@@ -91,10 +81,6 @@ const isEmptyRecord = self => {
91
81
  */
92
82
  const isEmptyReadonlyRecord = isEmptyRecord;
93
83
 
94
- // -------------------------------------------------------------------------------------
95
- // conversions
96
- // -------------------------------------------------------------------------------------
97
-
98
84
  /**
99
85
  * Takes an iterable and a projection function and returns a record.
100
86
  * 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.
@@ -103,7 +89,7 @@ const isEmptyReadonlyRecord = isEmptyRecord;
103
89
  * @param f - A projection function that maps values of the iterable to a tuple of a key and a value.
104
90
  *
105
91
  * @example
106
- * import { fromIterable } from 'effect/ReadonlyRecord'
92
+ * import { fromIterable } from "effect/ReadonlyRecord"
107
93
  *
108
94
  * const input = [1, 2, 3, 4]
109
95
  *
@@ -133,7 +119,7 @@ const fromIterable = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f)
133
119
  * @param self - The iterable of key-value pairs.
134
120
  *
135
121
  * @example
136
- * import { fromEntries } from 'effect/ReadonlyRecord'
122
+ * import { fromEntries } from "effect/ReadonlyRecord"
137
123
  *
138
124
  * const input: Array<[string, number]> = [["a", 1], ["b", 2]]
139
125
  *
@@ -145,10 +131,10 @@ const fromIterable = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f)
145
131
  const fromEntries = /*#__PURE__*/fromIterable(Function_dist_effectFunction.identity);
146
132
 
147
133
  /**
148
- * Transforms the values of a `ReadonlyRecord` into an `Array` with a custom mapping function.
134
+ * Transforms the values of a record into an `Array` with a custom mapping function.
149
135
  *
150
- * @param self - The `ReadonlyRecord` to transform.
151
- * @param f - The custom mapping function to apply to each key/value of the `ReadonlyRecord`.
136
+ * @param self - The record to transform.
137
+ * @param f - The custom mapping function to apply to each key/value of the record.
152
138
  *
153
139
  * @example
154
140
  * import { collect } from "effect/ReadonlyRecord"
@@ -184,31 +170,9 @@ const collect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
184
170
  const toEntries = /*#__PURE__*/collect((key, value) => [key, value]);
185
171
 
186
172
  /**
187
- * Takes a record and returns an array of tuples containing its keys and values.
188
- *
189
- * Alias of {@link toEntries}.
190
- *
191
- * @param self - The record to transform.
192
- *
193
- * @example
194
- * import { toArray } from "effect/ReadonlyRecord"
195
- *
196
- * const x = { a: 1, b: 2, c: 3 }
197
- * assert.deepStrictEqual(toArray(x), [["a", 1], ["b", 2], ["c", 3]])
198
- *
199
- * @category conversions
200
- * @since 2.0.0
201
- */
202
- const toArray = toEntries;
203
-
204
- // -------------------------------------------------------------------------------------
205
- // utils
206
- // -------------------------------------------------------------------------------------
207
-
208
- /**
209
- * Returns the number of key/value pairs in a `ReadonlyRecord`.
173
+ * Returns the number of key/value pairs in a record.
210
174
  *
211
- * @param self - A `ReadonlyRecord` to calculate the number of key/value pairs in.
175
+ * @param self - A record to calculate the number of key/value pairs in.
212
176
  *
213
177
  * @example
214
178
  * import { size } from "effect/ReadonlyRecord";
@@ -220,13 +184,13 @@ const toArray = toEntries;
220
184
  const size = self => Object.keys(self).length;
221
185
 
222
186
  /**
223
- * Check if a given `key` exists in a `ReadonlyRecord`.
187
+ * Check if a given `key` exists in a record.
224
188
  *
225
- * @param self - the `ReadonlyRecord` to look in.
226
- * @param key - the key to look for in the `ReadonlyRecord`.
189
+ * @param self - the record to look in.
190
+ * @param key - the key to look for in the record.
227
191
  *
228
192
  * @example
229
- * import { has } from 'effect/ReadonlyRecord'
193
+ * import { has } from "effect/ReadonlyRecord"
230
194
  *
231
195
  * assert.deepStrictEqual(has({ a: 1, b: 2 }, "a"), true);
232
196
  * assert.deepStrictEqual(has({ a: 1, b: 2 }, "c"), false);
@@ -236,10 +200,10 @@ const size = self => Object.keys(self).length;
236
200
  const has = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, key) => Object.prototype.hasOwnProperty.call(self, key));
237
201
 
238
202
  /**
239
- * Retrieve a value at a particular key from a `ReadonlyRecord`, returning it wrapped in an `Option`.
203
+ * Retrieve a value at a particular key from a record, returning it wrapped in an `Option`.
240
204
  *
241
- * @param self - The `ReadonlyRecord` to retrieve value from.
242
- * @param key - Key to retrieve from `ReadonlyRecord`.
205
+ * @param self - The record to retrieve value from.
206
+ * @param key - Key to retrieve from record.
243
207
  *
244
208
  * @example
245
209
  * import { get } from "effect/ReadonlyRecord"
@@ -258,7 +222,7 @@ const get = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, key) => has
258
222
  * Apply a function to the element at the specified key, creating a new record,
259
223
  * or return `None` if the key doesn't exist.
260
224
  *
261
- * @param self - The `ReadonlyRecord` to be updated.
225
+ * @param self - The record to be updated.
262
226
  * @param key - The key of the element to modify.
263
227
  * @param f - The function to apply to the element.
264
228
  *
@@ -293,7 +257,7 @@ const modifyOption = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, ke
293
257
  /**
294
258
  * Replaces a value in the record with the new value passed as parameter.
295
259
  *
296
- * @param self - The `ReadonlyRecord` to be updated.
260
+ * @param self - The record to be updated.
297
261
  * @param key - The key to search for in the record.
298
262
  * @param b - The new value to replace the existing value with.
299
263
  *
@@ -312,13 +276,13 @@ const modifyOption = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, ke
312
276
  const replaceOption = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, key, b) => modifyOption(self, key, () => b));
313
277
 
314
278
  /**
315
- * Removes a key from a `ReadonlyRecord` and returns a new `Record`
279
+ * Removes a key from a record and returns a new record
316
280
  *
317
- * @param self - the `ReadonlyRecord` to remove the key from.
318
- * @param key - the key to remove from the `ReadonlyRecord`.
281
+ * @param self - the record to remove the key from.
282
+ * @param key - the key to remove from the record.
319
283
  *
320
284
  * @example
321
- * import { remove } from 'effect/ReadonlyRecord'
285
+ * import { remove } from "effect/ReadonlyRecord"
322
286
  *
323
287
  * assert.deepStrictEqual(remove({ a: 1, b: 2 }, "a"), { b: 2 })
324
288
  *
@@ -333,15 +297,15 @@ const remove = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, key) =>
333
297
  });
334
298
 
335
299
  /**
336
- * Retrieves the value of the property with the given `key` from a `ReadonlyRecord` and returns an `Option`
337
- * of a tuple with the value and the `ReadonlyRecord` with the removed property.
300
+ * Retrieves the value of the property with the given `key` from a record and returns an `Option`
301
+ * of a tuple with the value and the record with the removed property.
338
302
  * If the key is not present, returns `O.none`.
339
303
  *
340
- * @param self - The input `ReadonlyRecord`.
304
+ * @param self - The input record.
341
305
  * @param key - The key of the property to retrieve.
342
306
  *
343
307
  * @example
344
- * import { pop } from 'effect/ReadonlyRecord'
308
+ * import { pop } from "effect/ReadonlyRecord"
345
309
  * import { some, none } from 'effect/Option'
346
310
  *
347
311
  * assert.deepStrictEqual(pop({ a: 1, b: 2 }, "a"), some([1, { b: 2 }]))
@@ -353,10 +317,10 @@ const remove = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, key) =>
353
317
  const pop = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, key) => has(self, key) ? Option_dist_effectOption.some([self[key], remove(self, key)]) : Option_dist_effectOption.none());
354
318
 
355
319
  /**
356
- * Maps a `ReadonlyRecord` into another `Record` by applying a transformation function to each of its values.
320
+ * Maps a record into another record by applying a transformation function to each of its values.
357
321
  *
358
- * @param self - The `ReadonlyRecord` to be mapped.
359
- * @param f - A transformation function that will be applied to each of the values in the `ReadonlyRecord`.
322
+ * @param self - The record to be mapped.
323
+ * @param f - A transformation function that will be applied to each of the values in the record.
360
324
  *
361
325
  * @example
362
326
  * import { map } from "effect/ReadonlyRecord"
@@ -380,14 +344,14 @@ const map = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
380
344
  });
381
345
 
382
346
  /**
383
- * Transforms a `ReadonlyRecord` into a `Record` by applying the function `f` to each key and value in the original `ReadonlyRecord`.
384
- * If the function returns `Some`, the key-value pair is included in the output `Record`.
347
+ * Transforms a record into a record by applying the function `f` to each key and value in the original record.
348
+ * If the function returns `Some`, the key-value pair is included in the output record.
385
349
  *
386
- * @param self - The input `ReadonlyRecord`.
350
+ * @param self - The input record.
387
351
  * @param f - The transformation function.
388
352
  *
389
353
  * @example
390
- * import { filterMap } from 'effect/ReadonlyRecord'
354
+ * import { filterMap } from "effect/ReadonlyRecord"
391
355
  * import { some, none } from 'effect/Option'
392
356
  *
393
357
  * const x = { a: 1, b: 2, c: 3 }
@@ -410,11 +374,11 @@ const filterMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) =>
410
374
  /**
411
375
  * Selects properties from a record whose values match the given predicate.
412
376
  *
413
- * @param self - The `ReadonlyRecord` to filter.
377
+ * @param self - The record to filter.
414
378
  * @param predicate - A function that returns a `boolean` value to determine if the entry should be included in the new record.
415
379
  *
416
380
  * @example
417
- * import { filter } from 'effect/ReadonlyRecord'
381
+ * import { filter } from "effect/ReadonlyRecord"
418
382
  *
419
383
  * const x = { a: 1, b: 2, c: 3, d: 4 }
420
384
  * assert.deepStrictEqual(filter(x, (n) => n > 2), { c: 3, d: 4 })
@@ -433,12 +397,12 @@ const filter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicat
433
397
  });
434
398
 
435
399
  /**
436
- * Given a `ReadonlyRecord` with `Option` values, returns a `Record` with only the `Some` values, with the same keys.
400
+ * Given a record with `Option` values, returns a record with only the `Some` values, with the same keys.
437
401
  *
438
- * @param self - A `ReadonlyRecord` with `Option` values.
402
+ * @param self - A record with `Option` values.
439
403
  *
440
404
  * @example
441
- * import { compact } from 'effect/ReadonlyRecord'
405
+ * import { compact } from "effect/ReadonlyRecord"
442
406
  * import { some, none } from 'effect/Option'
443
407
  *
444
408
  * assert.deepStrictEqual(
@@ -452,13 +416,13 @@ const filter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicat
452
416
  const compact = /*#__PURE__*/filterMap(Function_dist_effectFunction.identity);
453
417
 
454
418
  /**
455
- * Partitions the elements of a `ReadonlyRecord` into two groups: those that match a predicate, and those that don't.
419
+ * Partitions the elements of a record into two groups: those that match a predicate, and those that don't.
456
420
  *
457
- * @param self - The `ReadonlyRecord` to partition.
421
+ * @param self - The record to partition.
458
422
  * @param f - The predicate function to apply to each element.
459
423
  *
460
424
  * @example
461
- * import { partitionMap } from 'effect/ReadonlyRecord'
425
+ * import { partitionMap } from "effect/ReadonlyRecord"
462
426
  * import { left, right } from 'effect/Either'
463
427
  *
464
428
  * const x = { a: 1, b: 2, c: 3 }
@@ -483,13 +447,13 @@ const partitionMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f)
483
447
  });
484
448
 
485
449
  /**
486
- * Partitions a `ReadonlyRecord` of `Either` values into two separate records,
450
+ * Partitions a record of `Either` values into two separate records,
487
451
  * one with the `Left` values and one with the `Right` values.
488
452
  *
489
- * @param self - the `ReadonlyRecord` to partition.
453
+ * @param self - the record to partition.
490
454
  *
491
455
  * @example
492
- * import { separate } from 'effect/ReadonlyRecord'
456
+ * import { separate } from "effect/ReadonlyRecord"
493
457
  * import { left, right } from 'effect/Either'
494
458
  *
495
459
  * assert.deepStrictEqual(
@@ -503,13 +467,13 @@ const partitionMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f)
503
467
  const separate = /*#__PURE__*/partitionMap(Function_dist_effectFunction.identity);
504
468
 
505
469
  /**
506
- * Partitions a `ReadonlyRecord` into two separate `Record`s based on the result of a predicate function.
470
+ * Partitions a record into two separate records based on the result of a predicate function.
507
471
  *
508
- * @param self - The input `ReadonlyRecord` to partition.
509
- * @param predicate - The partitioning function to determine the partitioning of each value of the `ReadonlyRecord`.
472
+ * @param self - The input record to partition.
473
+ * @param predicate - The partitioning function to determine the partitioning of each value of the record.
510
474
  *
511
475
  * @example
512
- * import { partition } from 'effect/ReadonlyRecord'
476
+ * import { partition } from "effect/ReadonlyRecord"
513
477
  *
514
478
  * assert.deepStrictEqual(
515
479
  * partition({ a: 1, b: 3 }, (n) => n > 2),
@@ -532,25 +496,303 @@ const partition = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predi
532
496
  return [left, right];
533
497
  });
534
498
 
499
+ /**
500
+ * Retrieve the keys of a given record as an array.
501
+ *
502
+ * @param self - The object for which you want to get the keys.
503
+ *
504
+ * @since 2.0.0
505
+ */
506
+ const keys = self => Object.keys(self);
507
+
508
+ /**
509
+ * Retrieve the values of a given record as an array.
510
+ *
511
+ * @param self - The object for which you want to get the values.
512
+ *
513
+ * @since 2.0.0
514
+ */
515
+ const values = self => collect(self, (_, a) => a);
516
+
517
+ /**
518
+ * Add a new key-value pair or update an existing key's value in a record.
519
+ *
520
+ * @param self - The record to which you want to add or update a key-value pair.
521
+ * @param key - The key you want to add or update.
522
+ * @param values - The value you want to associate with the key.
523
+ *
524
+ * @example
525
+ * import { upsert } from "effect/ReadonlyRecord"
526
+ *
527
+ * assert.deepStrictEqual(upsert("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
528
+ * assert.deepStrictEqual(upsert("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
529
+ *
530
+ * @since 2.0.0
531
+ */
532
+ const upsert = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, key, value) => {
533
+ const out = {
534
+ ...self
535
+ };
536
+ out[key] = value;
537
+ return out;
538
+ });
539
+
540
+ /**
541
+ * Replace a key's value in a record and return the updated record.
542
+ *
543
+ * @param self - The original record.
544
+ * @param key - The key to replace.
545
+ * @param value - The new value to associate with the key.
546
+ *
547
+ * @example
548
+ * import { update } from "effect/ReadonlyRecord"
549
+ * import { some, none } from "effect/Option"
550
+ *
551
+ * assert.deepStrictEqual(update("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
552
+ * assert.deepStrictEqual(update("c", 3)({ a: 1, b: 2 }), { a: 1, b: 2 });
553
+ *
554
+ * @since 2.0.0
555
+ */
556
+ const update = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, key, value) => {
557
+ const out = {
558
+ ...self
559
+ };
560
+ if (has(self, key)) {
561
+ out[key] = value;
562
+ }
563
+ return out;
564
+ });
565
+
566
+ /**
567
+ * Check if all the keys and values in one record are also found in another record.
568
+ *
569
+ * @param self - The first record to check.
570
+ * @param that - The second record to compare against.
571
+ * @param equivalence - A function to compare values.
572
+ *
573
+ * @since 2.0.0
574
+ */
575
+ const isSubrecordBy = equivalence => Function_dist_effectFunction.dual(2, (self, that) => {
576
+ for (const key in self) {
577
+ if (!has(that, key) || !equivalence(self[key], that[key])) {
578
+ return false;
579
+ }
580
+ }
581
+ return true;
582
+ });
583
+
584
+ /**
585
+ * Check if one record is a subrecord of another, meaning it contains all the keys and values found in the second record.
586
+ * This comparison uses default equality checks (`Equal.equivalence()`).
587
+ *
588
+ * @param self - The first record to check.
589
+ * @param that - The second record to compare against.
590
+ *
591
+ * @since 2.0.0
592
+ */
593
+ const isSubrecord = /*#__PURE__*/isSubrecordBy( /*#__PURE__*/Equal_dist_effectEqual.equivalence());
594
+
595
+ /**
596
+ * Reduce a record to a single value by combining its entries with a specified function.
597
+ *
598
+ * @param self - The record to reduce.
599
+ * @param zero - The initial value of the accumulator.
600
+ * @param f - The function to combine entries (accumulator, value, key).
601
+ *
602
+ * @category folding
603
+ * @since 2.0.0
604
+ */
605
+ const reduce = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, zero, f) => {
606
+ let out = zero;
607
+ for (const key in self) {
608
+ out = f(out, self[key], key);
609
+ }
610
+ return out;
611
+ });
612
+
613
+ /**
614
+ * Check if all entries in a record meet a specific condition.
615
+ *
616
+ * @param self - The record to check.
617
+ * @param predicate - The condition to test entries (value, key).
618
+ *
619
+ * @since 2.0.0
620
+ */
621
+ const every = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
622
+ for (const key in self) {
623
+ if (!predicate(self[key], key)) {
624
+ return false;
625
+ }
626
+ }
627
+ return true;
628
+ });
629
+
630
+ /**
631
+ * Check if any entry in a record meets a specific condition.
632
+ *
633
+ * @param self - The record to check.
634
+ * @param predicate - The condition to test entries (value, key).
635
+ *
636
+ * @since 2.0.0
637
+ */
638
+ const some = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
639
+ for (const key in self) {
640
+ if (predicate(self[key], key)) {
641
+ return true;
642
+ }
643
+ }
644
+ return false;
645
+ });
646
+
647
+ /**
648
+ * Merge two records, preserving entries that exist in either of the records.
649
+ *
650
+ * @param self - The first record.
651
+ * @param that - The second record to combine with the first.
652
+ * @param combine - A function to specify how to merge entries with the same key.
653
+ *
654
+ * @since 2.0.0
655
+ */
656
+ const union = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, combine) => {
657
+ if (isEmptyRecord(self)) {
658
+ return {
659
+ ...that
660
+ };
661
+ }
662
+ if (isEmptyRecord(that)) {
663
+ return {
664
+ ...self
665
+ };
666
+ }
667
+ const out = {};
668
+ for (const key in self) {
669
+ if (has(that, key)) {
670
+ out[key] = combine(self[key], that[key]);
671
+ } else {
672
+ out[key] = self[key];
673
+ }
674
+ }
675
+ for (const key in that) {
676
+ if (!has(out, key)) {
677
+ out[key] = that[key];
678
+ }
679
+ }
680
+ return out;
681
+ });
682
+
683
+ /**
684
+ * Merge two records, retaining only the entries that exist in both records.
685
+ *
686
+ * @param self - The first record.
687
+ * @param that - The second record to merge with the first.
688
+ * @param combine - A function to specify how to merge entries with the same key.
689
+ *
690
+ * @since 2.0.0
691
+ */
692
+ const intersection = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, combine) => {
693
+ if (isEmptyRecord(self) || isEmptyRecord(that)) {
694
+ return empty();
695
+ }
696
+ const out = {};
697
+ for (const key in self) {
698
+ if (has(that, key)) {
699
+ out[key] = combine(self[key], that[key]);
700
+ }
701
+ }
702
+ return out;
703
+ });
704
+
705
+ /**
706
+ * Merge two records, preserving only the entries that are unique to each record.
707
+ *
708
+ * @param self - The first record.
709
+ * @param that - The second record to compare with the first.
710
+ *
711
+ * @since 2.0.0
712
+ */
713
+ const difference = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => {
714
+ if (isEmptyRecord(self)) {
715
+ return {
716
+ ...that
717
+ };
718
+ }
719
+ if (isEmptyRecord(that)) {
720
+ return {
721
+ ...self
722
+ };
723
+ }
724
+ const out = {};
725
+ for (const key in self) {
726
+ if (!has(that, key)) {
727
+ out[key] = self[key];
728
+ }
729
+ }
730
+ for (const key in that) {
731
+ if (!has(self, key)) {
732
+ out[key] = that[key];
733
+ }
734
+ }
735
+ return out;
736
+ });
737
+
738
+ /**
739
+ * Create an `Equivalence` for records using the provided `Equivalence` for values.
740
+ *
741
+ * @param equivalence - An `Equivalence` for the values contained in the records.
742
+ *
743
+ * @category instances
744
+ * @since 2.0.0
745
+ */
746
+ const getEquivalence = equivalence => {
747
+ const is = isSubrecordBy(equivalence);
748
+ return (self, that) => is(self, that) && is(that, self);
749
+ };
750
+
751
+ /**
752
+ * Create a non-empty record from a single element.
753
+ *
754
+ * @param key - The key for the element.
755
+ * @param value - The value associated with the key.
756
+ *
757
+ * @category constructors
758
+ * @since 2.0.0
759
+ */
760
+ const singleton = (key, value) => ({
761
+ [key]: value
762
+ });
763
+
535
764
  exports.collect = collect;
536
765
  exports.compact = compact;
766
+ exports.difference = difference;
537
767
  exports.empty = empty;
768
+ exports.every = every;
538
769
  exports.filter = filter;
539
770
  exports.filterMap = filterMap;
540
771
  exports.fromEntries = fromEntries;
541
772
  exports.fromIterable = fromIterable;
542
773
  exports.get = get;
774
+ exports.getEquivalence = getEquivalence;
543
775
  exports.has = has;
776
+ exports.intersection = intersection;
544
777
  exports.isEmptyReadonlyRecord = isEmptyReadonlyRecord;
545
778
  exports.isEmptyRecord = isEmptyRecord;
779
+ exports.isSubrecord = isSubrecord;
780
+ exports.isSubrecordBy = isSubrecordBy;
781
+ exports.keys = keys;
546
782
  exports.map = map;
547
783
  exports.modifyOption = modifyOption;
548
784
  exports.partition = partition;
549
785
  exports.partitionMap = partitionMap;
550
786
  exports.pop = pop;
787
+ exports.reduce = reduce;
551
788
  exports.remove = remove;
552
789
  exports.replaceOption = replaceOption;
553
790
  exports.separate = separate;
791
+ exports.singleton = singleton;
554
792
  exports.size = size;
555
- exports.toArray = toArray;
793
+ exports.some = some;
556
794
  exports.toEntries = toEntries;
795
+ exports.union = union;
796
+ exports.update = update;
797
+ exports.upsert = upsert;
798
+ exports.values = values;
@@ -1,24 +1,37 @@
1
1
  export {
2
2
  collect,
3
3
  compact,
4
+ difference,
4
5
  empty,
6
+ every,
5
7
  filter,
6
8
  filterMap,
7
9
  fromEntries,
8
10
  fromIterable,
9
11
  get,
12
+ getEquivalence,
10
13
  has,
14
+ intersection,
11
15
  isEmptyReadonlyRecord,
12
16
  isEmptyRecord,
17
+ isSubrecord,
18
+ isSubrecordBy,
19
+ keys,
13
20
  map,
14
21
  modifyOption,
15
22
  partition,
16
23
  partitionMap,
17
24
  pop,
25
+ reduce,
18
26
  remove,
19
27
  replaceOption,
20
28
  separate,
29
+ singleton,
21
30
  size,
22
- toArray,
23
- toEntries
31
+ some,
32
+ toEntries,
33
+ union,
34
+ update,
35
+ upsert,
36
+ values
24
37
  } from "./effect-ReadonlyRecord.cjs.js";