effect 2.0.0-next.46 → 2.0.0-next.48

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 (421) hide show
  1. package/BigInt/dist/effect-BigInt.cjs.d.mts +2 -0
  2. package/BigInt/dist/effect-BigInt.cjs.d.mts.map +1 -0
  3. package/BigInt/dist/effect-BigInt.cjs.d.ts +2 -0
  4. package/BigInt/dist/effect-BigInt.cjs.d.ts.map +1 -0
  5. package/{Bigint/dist/effect-Bigint.cjs.dev.js → BigInt/dist/effect-BigInt.cjs.dev.js} +30 -30
  6. package/BigInt/dist/effect-BigInt.cjs.js +7 -0
  7. package/{Bigint/dist/effect-Bigint.cjs.mjs → BigInt/dist/effect-BigInt.cjs.mjs} +2 -2
  8. package/{Bigint/dist/effect-Bigint.cjs.prod.js → BigInt/dist/effect-BigInt.cjs.prod.js} +30 -30
  9. package/{Bigint/dist/effect-Bigint.esm.js → BigInt/dist/effect-BigInt.esm.js} +28 -28
  10. package/BigInt/package.json +4 -0
  11. package/Brand/dist/effect-Brand.cjs.dev.js +3 -3
  12. package/Brand/dist/effect-Brand.cjs.prod.js +3 -3
  13. package/Cache/dist/effect-Cache.cjs.dev.js +28 -28
  14. package/Cache/dist/effect-Cache.cjs.prod.js +28 -28
  15. package/Cause/dist/effect-Cause.cjs.dev.js +8 -8
  16. package/Cause/dist/effect-Cause.cjs.prod.js +8 -8
  17. package/Channel/dist/effect-Channel.cjs.dev.js +41 -41
  18. package/Channel/dist/effect-Channel.cjs.prod.js +41 -41
  19. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -38
  20. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -38
  21. package/Chunk/dist/effect-Chunk.cjs.dev.js +3 -3
  22. package/Chunk/dist/effect-Chunk.cjs.prod.js +3 -3
  23. package/Clock/dist/effect-Clock.cjs.dev.js +14 -14
  24. package/Clock/dist/effect-Clock.cjs.prod.js +14 -14
  25. package/Config/dist/effect-Config.cjs.dev.js +11 -11
  26. package/Config/dist/effect-Config.cjs.prod.js +11 -11
  27. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
  28. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
  29. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +13 -13
  30. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +13 -13
  31. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
  32. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
  33. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
  34. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
  35. package/Console/dist/effect-Console.cjs.dev.js +32 -32
  36. package/Console/dist/effect-Console.cjs.prod.js +32 -32
  37. package/Context/dist/effect-Context.cjs.dev.js +3 -3
  38. package/Context/dist/effect-Context.cjs.prod.js +3 -3
  39. package/Data/dist/effect-Data.cjs.dev.js +50 -46
  40. package/Data/dist/effect-Data.cjs.prod.js +50 -46
  41. package/Data/dist/effect-Data.esm.js +11 -5
  42. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +14 -14
  43. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +14 -14
  44. package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
  45. package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
  46. package/Differ/dist/effect-Differ.cjs.dev.js +5 -5
  47. package/Differ/dist/effect-Differ.cjs.prod.js +5 -5
  48. package/Duration/dist/effect-Duration.cjs.dev.js +4 -4
  49. package/Duration/dist/effect-Duration.cjs.prod.js +4 -4
  50. package/Duration/dist/effect-Duration.esm.js +2 -2
  51. package/Effect/dist/effect-Effect.cjs.dev.js +67 -136
  52. package/Effect/dist/effect-Effect.cjs.mjs +2 -11
  53. package/Effect/dist/effect-Effect.cjs.prod.js +67 -136
  54. package/Effect/dist/effect-Effect.esm.js +30 -90
  55. package/Effectable/dist/effect-Effectable.cjs.dev.js +1 -1
  56. package/Effectable/dist/effect-Effectable.cjs.prod.js +1 -1
  57. package/Either/dist/effect-Either.cjs.dev.js +17 -3
  58. package/Either/dist/effect-Either.cjs.mjs +3 -1
  59. package/Either/dist/effect-Either.cjs.prod.js +17 -3
  60. package/Either/dist/effect-Either.esm.js +13 -1
  61. package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
  62. package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
  63. package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
  64. package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
  65. package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
  66. package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
  67. package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
  68. package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
  69. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
  70. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
  71. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
  72. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
  73. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
  74. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
  75. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +43 -43
  76. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +43 -43
  77. package/HashMap/dist/effect-HashMap.cjs.dev.js +4 -4
  78. package/HashMap/dist/effect-HashMap.cjs.prod.js +4 -4
  79. package/HashSet/dist/effect-HashSet.cjs.dev.js +4 -4
  80. package/HashSet/dist/effect-HashSet.cjs.prod.js +4 -4
  81. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +29 -29
  82. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +29 -29
  83. package/Layer/dist/effect-Layer.cjs.dev.js +151 -52
  84. package/Layer/dist/effect-Layer.cjs.mjs +12 -0
  85. package/Layer/dist/effect-Layer.cjs.prod.js +151 -52
  86. package/Layer/dist/effect-Layer.esm.js +92 -2
  87. package/List/dist/effect-List.cjs.dev.js +3 -3
  88. package/List/dist/effect-List.cjs.prod.js +3 -3
  89. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
  90. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
  91. package/Logger/dist/effect-Logger.cjs.dev.js +33 -39
  92. package/Logger/dist/effect-Logger.cjs.prod.js +33 -39
  93. package/Logger/dist/effect-Logger.esm.js +0 -5
  94. package/Match/dist/effect-Match.cjs.d.mts +2 -0
  95. package/Match/dist/effect-Match.cjs.d.mts.map +1 -0
  96. package/Match/dist/effect-Match.cjs.d.ts +2 -0
  97. package/Match/dist/effect-Match.cjs.d.ts.map +1 -0
  98. package/Match/dist/effect-Match.cjs.dev.js +620 -0
  99. package/Match/dist/effect-Match.cjs.js +7 -0
  100. package/Match/dist/effect-Match.cjs.mjs +39 -0
  101. package/Match/dist/effect-Match.cjs.prod.js +620 -0
  102. package/Match/dist/effect-Match.esm.js +258 -0
  103. package/Match/package.json +4 -0
  104. package/Metric/dist/effect-Metric.cjs.dev.js +27 -27
  105. package/Metric/dist/effect-Metric.cjs.prod.js +27 -27
  106. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
  107. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
  108. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
  109. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
  110. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +7 -7
  111. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +7 -7
  112. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
  113. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
  114. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +1 -1
  115. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +1 -1
  116. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +29 -29
  117. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +29 -29
  118. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
  119. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
  120. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  121. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  122. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
  123. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
  124. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
  125. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
  126. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
  127. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
  128. package/Option/dist/effect-Option.cjs.dev.js +3 -3
  129. package/Option/dist/effect-Option.cjs.prod.js +3 -3
  130. package/Pool/dist/effect-Pool.cjs.dev.js +29 -29
  131. package/Pool/dist/effect-Pool.cjs.prod.js +29 -29
  132. package/Predicate/dist/effect-Predicate.cjs.dev.js +5 -5
  133. package/Predicate/dist/effect-Predicate.cjs.mjs +1 -1
  134. package/Predicate/dist/effect-Predicate.cjs.prod.js +5 -5
  135. package/Predicate/dist/effect-Predicate.esm.js +5 -5
  136. package/PubSub/dist/effect-PubSub.cjs.dev.js +28 -28
  137. package/PubSub/dist/effect-PubSub.cjs.prod.js +28 -28
  138. package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
  139. package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
  140. package/README.md +23 -0
  141. package/Random/dist/effect-Random.cjs.dev.js +14 -14
  142. package/Random/dist/effect-Random.cjs.prod.js +14 -14
  143. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
  144. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
  145. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
  146. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
  147. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +3 -3
  148. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +3 -3
  149. package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
  150. package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
  151. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +33 -33
  152. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +33 -33
  153. package/Request/dist/effect-Request.cjs.dev.js +28 -28
  154. package/Request/dist/effect-Request.cjs.prod.js +28 -28
  155. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -38
  156. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -38
  157. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +42 -44
  158. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +42 -44
  159. package/Resource/dist/effect-Resource.cjs.dev.js +31 -31
  160. package/Resource/dist/effect-Resource.cjs.prod.js +31 -31
  161. package/Runtime/dist/effect-Runtime.cjs.dev.js +30 -30
  162. package/Runtime/dist/effect-Runtime.cjs.prod.js +30 -30
  163. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -34
  164. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -34
  165. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
  166. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
  167. package/STM/dist/effect-STM.cjs.dev.js +45 -45
  168. package/STM/dist/effect-STM.cjs.prod.js +45 -45
  169. package/Schedule/dist/effect-Schedule.cjs.dev.js +20 -20
  170. package/Schedule/dist/effect-Schedule.cjs.prod.js +20 -20
  171. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
  172. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
  173. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
  174. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
  175. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  176. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  177. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
  178. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
  179. package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
  180. package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
  181. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +34 -36
  182. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +34 -36
  183. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +31 -31
  184. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +31 -31
  185. package/Sink/dist/effect-Sink.cjs.dev.js +39 -39
  186. package/Sink/dist/effect-Sink.cjs.prod.js +39 -39
  187. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
  188. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
  189. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
  190. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
  191. package/Stream/dist/effect-Stream.cjs.dev.js +43 -43
  192. package/Stream/dist/effect-Stream.cjs.prod.js +43 -43
  193. package/Streamable/dist/effect-Streamable.cjs.dev.js +43 -43
  194. package/Streamable/dist/effect-Streamable.cjs.prod.js +43 -43
  195. package/String/dist/effect-String.cjs.dev.js +3 -3
  196. package/String/dist/effect-String.cjs.prod.js +3 -3
  197. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +46 -46
  198. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +46 -46
  199. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +33 -34
  200. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +33 -34
  201. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
  202. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
  203. package/TArray/dist/effect-TArray.cjs.dev.js +47 -47
  204. package/TArray/dist/effect-TArray.cjs.prod.js +47 -47
  205. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +46 -46
  206. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +46 -46
  207. package/TMap/dist/effect-TMap.cjs.dev.js +48 -48
  208. package/TMap/dist/effect-TMap.cjs.prod.js +48 -48
  209. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +45 -45
  210. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +45 -45
  211. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +50 -50
  212. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +50 -50
  213. package/TQueue/dist/effect-TQueue.cjs.dev.js +47 -47
  214. package/TQueue/dist/effect-TQueue.cjs.prod.js +47 -47
  215. package/TRandom/dist/effect-TRandom.cjs.dev.js +46 -46
  216. package/TRandom/dist/effect-TRandom.cjs.prod.js +46 -46
  217. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +50 -50
  218. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +50 -50
  219. package/TRef/dist/effect-TRef.cjs.dev.js +45 -45
  220. package/TRef/dist/effect-TRef.cjs.prod.js +45 -45
  221. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +46 -46
  222. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +46 -46
  223. package/TSet/dist/effect-TSet.cjs.dev.js +48 -48
  224. package/TSet/dist/effect-TSet.cjs.prod.js +48 -48
  225. package/Take/dist/effect-Take.cjs.dev.js +36 -38
  226. package/Take/dist/effect-Take.cjs.prod.js +36 -38
  227. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +5 -5
  228. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +5 -5
  229. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +20 -20
  230. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +20 -20
  231. package/TestClock/dist/effect-TestClock.cjs.dev.js +32 -32
  232. package/TestClock/dist/effect-TestClock.cjs.prod.js +32 -32
  233. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -3
  234. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -3
  235. package/TestContext/dist/effect-TestContext.cjs.dev.js +34 -36
  236. package/TestContext/dist/effect-TestContext.cjs.prod.js +34 -36
  237. package/TestLive/dist/effect-TestLive.cjs.dev.js +14 -14
  238. package/TestLive/dist/effect-TestLive.cjs.prod.js +14 -14
  239. package/TestServices/dist/effect-TestServices.cjs.dev.js +40 -42
  240. package/TestServices/dist/effect-TestServices.cjs.prod.js +40 -42
  241. package/TestSized/dist/effect-TestSized.cjs.dev.js +8 -8
  242. package/TestSized/dist/effect-TestSized.cjs.prod.js +8 -8
  243. package/Tracer/dist/effect-Tracer.cjs.dev.js +20 -18
  244. package/Tracer/dist/effect-Tracer.cjs.mjs +1 -0
  245. package/Tracer/dist/effect-Tracer.cjs.prod.js +20 -18
  246. package/Tracer/dist/effect-Tracer.esm.js +7 -6
  247. package/dist/{Context-da73ddfa.cjs.dev.js → Context-607e9b4c.cjs.dev.js} +2 -2
  248. package/dist/{Context-9fe5eb16.cjs.prod.js → Context-c91d8ca0.cjs.prod.js} +2 -2
  249. package/dist/{Either-d43f082c.cjs.prod.js → Either-a3f96c60.cjs.prod.js} +2 -2
  250. package/dist/{Either-fa0ef1d9.cjs.dev.js → Either-e7500e90.cjs.dev.js} +2 -2
  251. package/dist/{Option-463b42e6.cjs.dev.js → Option-01caa9d4.cjs.dev.js} +1 -1
  252. package/dist/{Option-935e5d7c.cjs.prod.js → Option-dd52e82a.cjs.prod.js} +1 -1
  253. package/dist/{Ref-acdee7ef.cjs.dev.js → Ref-548003d1.cjs.dev.js} +1 -1
  254. package/dist/{Ref-4014b526.cjs.prod.js → Ref-6608e3b6.cjs.prod.js} +1 -1
  255. package/dist/{cache-7eed9d33.cjs.dev.js → cache-7953c9ae.cjs.dev.js} +5 -5
  256. package/dist/{cache-5c7d77e4.cjs.prod.js → cache-d7096ab5.cjs.prod.js} +5 -5
  257. package/dist/{circular-c8b65bdb.cjs.dev.js → circular-171d6971.cjs.dev.js} +8 -9
  258. package/dist/{circular-c2dbce1a.cjs.dev.js → circular-8568ddf2.cjs.dev.js} +7 -7
  259. package/dist/{circular-1f481ffb.cjs.prod.js → circular-894f44de.cjs.prod.js} +7 -7
  260. package/dist/{circular-9e10a5a7.cjs.prod.js → circular-b6cc8a1d.cjs.prod.js} +8 -9
  261. package/dist/{config-5ba54da1.cjs.prod.js → config-615bcaef.cjs.prod.js} +3 -3
  262. package/dist/{config-3b7935a3.cjs.dev.js → config-ea74e7d0.cjs.dev.js} +3 -3
  263. package/dist/{configProvider-f34a82f1.cjs.dev.js → configProvider-089a1159.cjs.dev.js} +4 -4
  264. package/dist/{configProvider-b6b20998.cjs.prod.js → configProvider-3877a6ec.cjs.prod.js} +4 -4
  265. package/dist/{core-b7401357.cjs.dev.js → core-365f89c2.cjs.dev.js} +3 -3
  266. package/dist/{core-07202cc0.cjs.prod.js → core-3908bc43.cjs.prod.js} +3 -3
  267. package/dist/{core-c5747f88.cjs.dev.js → core-3d37486a.cjs.dev.js} +3 -3
  268. package/dist/{core-7411d1e1.cjs.prod.js → core-8ccae4e2.cjs.prod.js} +3 -3
  269. package/dist/{core-effect-9201ea63.cjs.prod.js → core-effect-37a0d753.cjs.prod.js} +8 -8
  270. package/dist/{core-effect-1c564d42.cjs.dev.js → core-effect-c529ccac.cjs.dev.js} +8 -8
  271. package/dist/{dataSource-b83bc277.cjs.prod.js → dataSource-0e407d86.cjs.prod.js} +2 -2
  272. package/dist/{dataSource-b5eda714.cjs.dev.js → dataSource-d125d7af.cjs.dev.js} +2 -2
  273. package/dist/declarations/src/{Bigint.d.ts → BigInt.d.ts} +27 -27
  274. package/dist/declarations/src/{Bigint.d.ts.map → BigInt.d.ts.map} +1 -1
  275. package/dist/declarations/src/Channel.d.ts +4 -2
  276. package/dist/declarations/src/Channel.d.ts.map +1 -1
  277. package/dist/declarations/src/Data.d.ts +1 -2
  278. package/dist/declarations/src/Data.d.ts.map +1 -1
  279. package/dist/declarations/src/Effect.d.ts +67 -102
  280. package/dist/declarations/src/Effect.d.ts.map +1 -1
  281. package/dist/declarations/src/Either.d.ts +16 -0
  282. package/dist/declarations/src/Either.d.ts.map +1 -1
  283. package/dist/declarations/src/FiberRef.d.ts +2 -2
  284. package/dist/declarations/src/FiberRef.d.ts.map +1 -1
  285. package/dist/declarations/src/Layer.d.ts +98 -3
  286. package/dist/declarations/src/Layer.d.ts.map +1 -1
  287. package/dist/declarations/src/Logger.d.ts +2 -7
  288. package/dist/declarations/src/Logger.d.ts.map +1 -1
  289. package/dist/declarations/src/Match.d.ts +420 -0
  290. package/dist/declarations/src/Match.d.ts.map +1 -0
  291. package/dist/declarations/src/Predicate.d.ts +4 -4
  292. package/dist/declarations/src/Queue.d.ts +5 -0
  293. package/dist/declarations/src/Queue.d.ts.map +1 -1
  294. package/dist/declarations/src/Stream.d.ts +4 -2
  295. package/dist/declarations/src/Stream.d.ts.map +1 -1
  296. package/dist/declarations/src/Tracer.d.ts +17 -10
  297. package/dist/declarations/src/Tracer.d.ts.map +1 -1
  298. package/dist/declarations/src/index.d.ts +5 -1
  299. package/dist/declarations/src/index.d.ts.map +1 -1
  300. package/dist/{defaultServices-9d7ce86f.cjs.prod.js → defaultServices-1c3db777.cjs.prod.js} +15 -4
  301. package/dist/{defaultServices-755d5b46.cjs.dev.js → defaultServices-a933c201.cjs.dev.js} +15 -4
  302. package/dist/effect.cjs.dev.js +6 -3
  303. package/dist/effect.cjs.mjs +2 -1
  304. package/dist/effect.cjs.prod.js +6 -3
  305. package/dist/effect.esm.js +4 -2
  306. package/dist/{fiber-5156eff2.cjs.dev.js → fiber-13587a5a.cjs.dev.js} +3 -3
  307. package/dist/{fiber-9519d109.cjs.prod.js → fiber-2858bd1f.cjs.prod.js} +3 -3
  308. package/dist/{fiberRefs-98b71233.cjs.dev.js → fiberRefs-abe2a811.cjs.dev.js} +1 -1
  309. package/dist/{fiberRefs-558c17e6.cjs.prod.js → fiberRefs-ea1edd57.cjs.prod.js} +1 -1
  310. package/dist/{fiberRuntime-31ae011f.cjs.prod.js → fiberRuntime-9fafeaab.cjs.prod.js} +27 -23
  311. package/dist/{fiberRuntime-d3872282.cjs.dev.js → fiberRuntime-ebcb168f.cjs.dev.js} +27 -23
  312. package/dist/{groupBy-862cc2da.cjs.dev.js → groupBy-050e6b17.cjs.dev.js} +4 -4
  313. package/dist/{groupBy-724f64ef.cjs.prod.js → groupBy-93f35a1d.cjs.prod.js} +4 -4
  314. package/dist/{hook-8cefc909.cjs.dev.js → hook-2c94278c.cjs.dev.js} +1 -1
  315. package/dist/{hook-98ce30e4.cjs.prod.js → hook-9af5cf52.cjs.prod.js} +1 -1
  316. package/dist/{key-198b6670.cjs.dev.js → key-2d4efb00.cjs.dev.js} +2 -2
  317. package/dist/{key-eb8a12b2.cjs.prod.js → key-9b2f3322.cjs.prod.js} +2 -2
  318. package/dist/{layer-29574350.cjs.dev.js → layer-09807eda.cjs.dev.js} +15 -10
  319. package/dist/{layer-51ff4846.cjs.prod.js → layer-fc5b5ca7.cjs.prod.js} +15 -10
  320. package/dist/{patch-0220a642.cjs.dev.js → patch-2f545954.cjs.dev.js} +1 -1
  321. package/dist/{patch-7c559bb2.cjs.prod.js → patch-e72c6c2f.cjs.prod.js} +1 -1
  322. package/dist/{pathPatch-fab016f1.cjs.dev.js → pathPatch-9fa78980.cjs.dev.js} +1 -1
  323. package/dist/{pathPatch-b56a4da2.cjs.prod.js → pathPatch-f3064fa9.cjs.prod.js} +1 -1
  324. package/dist/{pool-3211287f.cjs.dev.js → pool-7c9cd8e9.cjs.dev.js} +5 -5
  325. package/dist/{pool-f77d7705.cjs.prod.js → pool-9370f703.cjs.prod.js} +5 -5
  326. package/dist/{query-c36decd5.cjs.dev.js → query-6cd164ab.cjs.dev.js} +3 -3
  327. package/dist/{query-a52b25f0.cjs.prod.js → query-8147932f.cjs.prod.js} +3 -3
  328. package/dist/{queue-7a223c44.cjs.dev.js → queue-06ce789d.cjs.dev.js} +23 -13
  329. package/dist/{queue-315ea45d.cjs.prod.js → queue-6afe5f19.cjs.prod.js} +23 -13
  330. package/dist/{registry-62ff192e.cjs.dev.js → registry-35e8eb48.cjs.dev.js} +2 -2
  331. package/dist/{registry-d5258dff.cjs.prod.js → registry-5c67df33.cjs.prod.js} +2 -2
  332. package/dist/{runtime-005f8a9b.cjs.prod.js → runtime-d41d839b.cjs.prod.js} +6 -6
  333. package/dist/{runtime-57c8ddf8.cjs.dev.js → runtime-fb1c1c19.cjs.dev.js} +6 -6
  334. package/dist/{schedule-e7a9f93f.cjs.dev.js → schedule-0e1db444.cjs.dev.js} +3 -3
  335. package/dist/{schedule-8cdf6bf1.cjs.prod.js → schedule-64057679.cjs.prod.js} +3 -3
  336. package/dist/{scopedRef-eb19c7a6.cjs.dev.js → scopedRef-2ea09a4f.cjs.dev.js} +6 -6
  337. package/dist/{scopedRef-789d7fef.cjs.prod.js → scopedRef-7a6d42f7.cjs.prod.js} +6 -6
  338. package/dist/{singleProducerAsyncInput-f9b258b1.cjs.prod.js → singleProducerAsyncInput-8b8ad112.cjs.prod.js} +1 -1
  339. package/dist/{singleProducerAsyncInput-9ff8389b.cjs.dev.js → singleProducerAsyncInput-97f74016.cjs.dev.js} +1 -1
  340. package/dist/{sink-572d8981.cjs.prod.js → sink-6d1a77bf.cjs.prod.js} +3 -3
  341. package/dist/{sink-8d3427e7.cjs.dev.js → sink-ebf2fbdb.cjs.dev.js} +3 -3
  342. package/dist/{stm-f250b596.cjs.prod.js → stm-4a6de085.cjs.prod.js} +3 -3
  343. package/dist/{stm-8aca0022.cjs.dev.js → stm-dbec85f1.cjs.dev.js} +3 -3
  344. package/dist/{stream-34d80d2c.cjs.dev.js → stream-478aa5a8.cjs.dev.js} +9 -6
  345. package/dist/{stream-ea4f4d44.cjs.prod.js → stream-f7345889.cjs.prod.js} +9 -6
  346. package/dist/{synchronizedRef-ed8aa6ac.cjs.prod.js → synchronizedRef-432b4455.cjs.prod.js} +1 -1
  347. package/dist/{synchronizedRef-a12fd967.cjs.dev.js → synchronizedRef-fa63e917.cjs.dev.js} +1 -1
  348. package/dist/{tArray-17f078f2.cjs.dev.js → tArray-0c9045e7.cjs.dev.js} +3 -3
  349. package/dist/{tArray-d184e22f.cjs.prod.js → tArray-b30ccc3e.cjs.prod.js} +3 -3
  350. package/dist/{tMap-e219f30e.cjs.prod.js → tMap-001c791c.cjs.prod.js} +4 -4
  351. package/dist/{tMap-1a5aa78b.cjs.dev.js → tMap-0625df1d.cjs.dev.js} +4 -4
  352. package/dist/{tQueue-47129ad0.cjs.prod.js → tQueue-6accdd70.cjs.prod.js} +3 -3
  353. package/dist/{tQueue-0a4fc773.cjs.dev.js → tQueue-cdbf9130.cjs.dev.js} +3 -3
  354. package/dist/{tRef-ab4c5713.cjs.prod.js → tRef-8b60d85b.cjs.prod.js} +1 -1
  355. package/dist/{tRef-b860ef05.cjs.dev.js → tRef-b5bae36d.cjs.dev.js} +1 -1
  356. package/internal/channel.esm.js +2 -2
  357. package/internal/core-effect.esm.js +1 -1
  358. package/internal/fiberRuntime.esm.js +27 -23
  359. package/internal/layer/circular.esm.js +5 -6
  360. package/internal/layer.esm.js +9 -5
  361. package/internal/logger.esm.js +3 -3
  362. package/internal/matcher.esm.js +314 -0
  363. package/internal/queue.esm.js +24 -14
  364. package/internal/stream.esm.js +7 -4
  365. package/internal/tracer.esm.js +14 -4
  366. package/package.json +21 -13
  367. package/src/{Bigint.ts → BigInt.ts} +26 -26
  368. package/src/Channel.ts +4 -2
  369. package/src/Data.ts +18 -16
  370. package/src/Duration.ts +2 -2
  371. package/src/Effect.ts +84 -151
  372. package/src/Either.ts +33 -0
  373. package/src/FiberRef.ts +2 -3
  374. package/src/Layer.ts +157 -3
  375. package/src/Logger.ts +2 -8
  376. package/src/Match.ts +800 -0
  377. package/src/Predicate.ts +4 -4
  378. package/src/Queue.ts +8 -0
  379. package/src/Stream.ts +4 -2
  380. package/src/Tracer.ts +18 -9
  381. package/src/index.ts +6 -1
  382. package/src/internal/channel.ts +5 -3
  383. package/src/internal/core-effect.ts +27 -22
  384. package/src/internal/core.ts +5 -7
  385. package/src/internal/fiberRuntime.ts +39 -13
  386. package/src/internal/layer/circular.ts +21 -6
  387. package/src/internal/layer.ts +20 -4
  388. package/src/internal/logger.ts +4 -4
  389. package/src/internal/matcher.ts +594 -0
  390. package/src/internal/queue.ts +26 -11
  391. package/src/internal/stream.ts +9 -7
  392. package/src/internal/tracer.ts +28 -5
  393. package/src/tsconfig.json +41 -0
  394. package/Bigint/dist/effect-Bigint.cjs.d.mts +0 -2
  395. package/Bigint/dist/effect-Bigint.cjs.d.mts.map +0 -1
  396. package/Bigint/dist/effect-Bigint.cjs.d.ts +0 -2
  397. package/Bigint/dist/effect-Bigint.cjs.d.ts.map +0 -1
  398. package/Bigint/dist/effect-Bigint.cjs.js +0 -7
  399. package/Bigint/package.json +0 -4
  400. /package/dist/{Effectable-c4c14a2b.cjs.prod.js → Effectable-6a8a05f1.cjs.prod.js} +0 -0
  401. /package/dist/{Effectable-7314aed8.cjs.dev.js → Effectable-71c10ab9.cjs.dev.js} +0 -0
  402. /package/dist/{FiberId-1d7ac632.cjs.prod.js → FiberId-54d8bd67.cjs.prod.js} +0 -0
  403. /package/dist/{FiberId-d88ddce6.cjs.dev.js → FiberId-6708cdca.cjs.dev.js} +0 -0
  404. /package/dist/{HashSet-ac02a3e1.cjs.prod.js → HashSet-86613304.cjs.prod.js} +0 -0
  405. /package/dist/{HashSet-5963ad6b.cjs.dev.js → HashSet-dd020cb0.cjs.dev.js} +0 -0
  406. /package/dist/{RuntimeFlagsPatch-866fa259.cjs.prod.js → RuntimeFlagsPatch-902b4680.cjs.prod.js} +0 -0
  407. /package/dist/{RuntimeFlagsPatch-69102b03.cjs.dev.js → RuntimeFlagsPatch-cf423492.cjs.dev.js} +0 -0
  408. /package/dist/{boundaries-f212e414.cjs.dev.js → boundaries-b5265184.cjs.dev.js} +0 -0
  409. /package/dist/{boundaries-9af538e3.cjs.prod.js → boundaries-bfd86b3e.cjs.prod.js} +0 -0
  410. /package/dist/{configError-b43723af.cjs.prod.js → configError-856c7153.cjs.prod.js} +0 -0
  411. /package/dist/{configError-d5efe9c0.cjs.dev.js → configError-a824b415.cjs.dev.js} +0 -0
  412. /package/dist/{configSecret-e2faa181.cjs.prod.js → configSecret-9b941a86.cjs.prod.js} +0 -0
  413. /package/dist/{configSecret-3e8ae336.cjs.dev.js → configSecret-e7bb51da.cjs.dev.js} +0 -0
  414. /package/dist/{keyType-0c5e6178.cjs.prod.js → keyType-4ec0b247.cjs.prod.js} +0 -0
  415. /package/dist/{keyType-7c164b82.cjs.dev.js → keyType-f30c9fa4.cjs.dev.js} +0 -0
  416. /package/dist/{label-655343b5.cjs.prod.js → label-a588e6cd.cjs.prod.js} +0 -0
  417. /package/dist/{label-011edbe7.cjs.dev.js → label-b0cebeae.cjs.dev.js} +0 -0
  418. /package/dist/{state-0bdf02b7.cjs.prod.js → state-40d5dc71.cjs.prod.js} +0 -0
  419. /package/dist/{state-931050c4.cjs.dev.js → state-620f7a22.cjs.dev.js} +0 -0
  420. /package/dist/{take-85daaf79.cjs.prod.js → take-15455ae3.cjs.prod.js} +0 -0
  421. /package/dist/{take-f9ef9e2e.cjs.dev.js → take-1c250e7a.cjs.dev.js} +0 -0
@@ -8,6 +8,7 @@ import { getOrDefault } from '../FiberRefs/dist/effect-FiberRefs.esm.js';
8
8
  import { diff as diff$1, patch as patch$1 } from '../FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js';
9
9
  import { isDone, done, suspended, running } from '../FiberStatus/dist/effect-FiberStatus.esm.js';
10
10
  import { dual, identity, pipe } from '../Function/dist/effect-Function.esm.js';
11
+ import { map as map$1 } from '../HashMap/dist/effect-HashMap.esm.js';
11
12
  import { make, fromIterable as fromIterable$2, union, size } from '../HashSet/dist/effect-HashSet.esm.js';
12
13
  import { par, flatten as flatten$2, sequentialCollectionToChunk } from './blockedRequests.esm.js';
13
14
  import { pretty, failureOrCause, parallel as parallel$1, sequential as sequential$1, interrupt, isEmpty, isInterruptedOnly, die, NoSuchElementException, stripFailures, isInterruptedException, IllegalArgumentException } from './cause.esm.js';
@@ -15,7 +16,7 @@ import { clockTag } from './clock.esm.js';
15
16
  import { currentRequestMap } from './completedRequestMap.esm.js';
16
17
  import { matchSimple, match as match$1 } from './concurrency.esm.js';
17
18
  import { configProviderTag } from './configProvider.esm.js';
18
- import { fiberRefUnsafeMake, currentTracerSpan, fiberRefUnsafeMakeHashSet, uninterruptible, tap, isEffect, withFiberRuntime, fiberRefLocally, currentForkScopeOverride, map as map$1, exit, exitIsSuccess, onError, failCause, partitionMap, either, flatMap as flatMap$1, unit, succeed, fail, dieSync, uninterruptibleMask, interruptible, forEachSequential, zipRight, asUnit, onInterrupt, zipLeft, interruptFiber, deferredMake, exitMatchEffect, flatten, deferredFailCause, deferredSucceed, contextWithEffect, scopeFork, currentMetricLabels, acquireUseRelease, scopeClose, exitZipWith, flip, fiberIdWith, updateRuntimeFlags, runtimeFlags, ScopeTypeId, releaseMapMake, CloseableScopeTypeId, releaseMapAdd, scopeAddFinalizerExit, as, mapInputContext, onExit, fiberRefUnsafeMakePatch, fiberRefGet, fiberRefSet, fiberRefGetWith, sync, fiberRefUpdate, fiberRefDelete, fiberRefUnsafeMakeContext, fiberRefUnsafeMakeRuntimeFlags, forEachSequentialDiscard, exitSucceed, matchCauseEffect, suspend, currentInterruptedCause, deferredUnsafeMake, deferredAwait, async, currentSchedulingPriority, whileLoop, currentUnhandledErrorLogLevel, currentLogLevel, currentLogSpan, currentLogAnnotations, exitFailCause, exitUnit, currentContext, blocked, catchAllCause, runRequestBlock, RevertFlags, yieldNow as yieldNow$1, isEffectError, withRuntimeFlags, matchEffect, if_, zipWith, currentRequestBatching, transplant, step, deferredUnsafeDone, deferredFail, exitCollectAll, exitIsFailure, exitInterrupt, exitAsUnit, interruptAsFiber, flatMapStep } from './core.esm.js';
19
+ import { fiberRefUnsafeMake, currentTracerSpan, fiberRefUnsafeMakeHashSet, uninterruptible, tap, isEffect, withFiberRuntime, fiberRefLocally, currentForkScopeOverride, map as map$2, exit, exitIsSuccess, onError, failCause, partitionMap, either, flatMap as flatMap$1, unit, succeed, fail, dieSync, uninterruptibleMask, interruptible, forEachSequential, zipRight, asUnit, onInterrupt, zipLeft, interruptFiber, deferredMake, exitMatchEffect, flatten, deferredFailCause, deferredSucceed, contextWithEffect, scopeFork, currentMetricLabels, acquireUseRelease, scopeClose, exitZipWith, flip, fiberIdWith, updateRuntimeFlags, runtimeFlags, ScopeTypeId, releaseMapMake, CloseableScopeTypeId, releaseMapAdd, scopeAddFinalizerExit, as, mapInputContext, onExit, fiberRefUnsafeMakePatch, fiberRefGet, fiberRefSet, fiberRefGetWith, sync, fiberRefUpdate, fiberRefDelete, fiberRefUnsafeMakeContext, fiberRefUnsafeMakeRuntimeFlags, forEachSequentialDiscard, exitSucceed, matchCauseEffect, suspend, fiberRefLocallyWith, currentInterruptedCause, deferredUnsafeMake, deferredAwait, async, currentSchedulingPriority, whileLoop, currentUnhandledErrorLogLevel, currentLogLevel, currentLogSpan, currentLogAnnotations, exitFailCause, exitUnit, currentContext, blocked, catchAllCause, runRequestBlock, RevertFlags, yieldNow as yieldNow$1, isEffectError, withRuntimeFlags, matchEffect, if_, zipWith, currentRequestBatching, transplant, step, deferredUnsafeDone, deferredFail, exitCollectAll, exitIsFailure, exitInterrupt, exitAsUnit, interruptAsFiber, flatMapStep } from './core.esm.js';
19
20
  import { makeSpan, currentTimeNanosTracing, mapErrorCause } from './core-effect.esm.js';
20
21
  import { currentServices } from './defaultServices.esm.js';
21
22
  import { consoleTag } from './defaultServices/console.esm.js';
@@ -24,7 +25,7 @@ import { _await, FiberTypeId, fiberVariance, join, RuntimeFiberTypeId, currentFi
24
25
  import { resume, stateful, interruptSignal, OP_STATEFUL, OP_RESUME, OP_INTERRUPT_SIGNAL, OP_YIELD_NOW, yieldNow } from './fiberMessage.esm.js';
25
26
  import { get, joinAs, delete_, updatedAs, forkAs, getOrDefault as getOrDefault$1 } from './fiberRefs.esm.js';
26
27
  import { globalScope, unsafeMake } from './fiberScope.esm.js';
27
- import { makeLogger, stringLogger, logfmtLogger } from './logger.esm.js';
28
+ import { makeLogger, stringLogger, logfmtLogger, serializeUnknown } from './logger.esm.js';
28
29
  import { counter, tagged, histogram } from './metric.esm.js';
29
30
  import { exponential } from './metric/boundaries.esm.js';
30
31
  import { make as make$3 } from './metric/label.esm.js';
@@ -868,7 +869,7 @@ class FiberRuntime {
868
869
  }
869
870
  }
870
871
  [OP_TAG](op) {
871
- return map$1(fiberRefGet(currentContext), context => {
872
+ return map$2(fiberRefGet(currentContext), context => {
872
873
  try {
873
874
  return unsafeGet(context, op);
874
875
  } catch (e) {
@@ -1179,7 +1180,7 @@ const tracerLogger = /*#__PURE__*/makeLogger(({
1179
1180
  if (span._tag === "None" || span.value._tag === "ExternalSpan" || clockService._tag === "None") {
1180
1181
  return;
1181
1182
  }
1182
- const attributes = Object.fromEntries(annotations);
1183
+ const attributes = Object.fromEntries(map$1(annotations, value => serializeUnknown(value)));
1183
1184
  attributes["effect.fiberId"] = threadName(fiberId);
1184
1185
  attributes["effect.logLevel"] = logLevel.label;
1185
1186
  if (cause !== null && cause._tag !== "Empty") {
@@ -1247,8 +1248,8 @@ const existsLoop = (iterator, index, f) => {
1247
1248
 
1248
1249
  /* @internal */
1249
1250
  const filter = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, f, options) => {
1250
- const predicate = options?.negate ? (a, i) => map$1(f(a, i), not) : f;
1251
- return matchSimple(options, () => suspend(() => fromIterable(elements).reduceRight((effect, a, i) => zipWith(effect, suspend(() => predicate(a, i)), (list, b) => b ? [a, ...list] : list), sync(() => new Array()))), () => map$1(forEachOptions(elements, (a, i) => map$1(predicate(a, i), b => b ? some(a) : none()), options), compact));
1251
+ const predicate = options?.negate ? (a, i) => map$2(f(a, i), not) : f;
1252
+ return matchSimple(options, () => suspend(() => fromIterable(elements).reduceRight((effect, a, i) => zipWith(effect, suspend(() => predicate(a, i)), (list, b) => b ? [a, ...list] : list), sync(() => new Array()))), () => map$2(forEachOptions(elements, (a, i) => map$2(predicate(a, i), b => b ? some(a) : none()), options), compact));
1252
1253
  });
1253
1254
 
1254
1255
  // === all
@@ -1311,7 +1312,7 @@ const allEither = (effects, reconcile, options) => {
1311
1312
  discard: true
1312
1313
  });
1313
1314
  }
1314
- return map$1(forEachOptions(eitherEffects, identity, {
1315
+ return map$2(forEachOptions(eitherEffects, identity, {
1315
1316
  concurrency: options?.concurrency,
1316
1317
  batching: options?.batching
1317
1318
  }), eithers => reconcile._tag === "Some" ? reconcile.value(eithers) : eithers);
@@ -1325,14 +1326,14 @@ const all = (arg, options) => {
1325
1326
  } else if (options?.mode === "either") {
1326
1327
  return allEither(effects, reconcile, options);
1327
1328
  }
1328
- return reconcile._tag === "Some" ? map$1(forEachOptions(effects, identity, options), reconcile.value) : forEachOptions(effects, identity, options);
1329
+ return reconcile._tag === "Some" ? map$2(forEachOptions(effects, identity, options), reconcile.value) : forEachOptions(effects, identity, options);
1329
1330
  };
1330
1331
 
1331
1332
  /* @internal */
1332
1333
  const allWith = options => arg => all(arg, options);
1333
1334
 
1334
1335
  /* @internal */
1335
- const allSuccesses = (elements, options) => map$1(all(fromIterable(elements).map(exit), options), filterMap(exit => exitIsSuccess(exit) ? some(exit.i0) : none()));
1336
+ const allSuccesses = (elements, options) => map$2(all(fromIterable(elements).map(exit), options), filterMap(exit => exitIsSuccess(exit) ? some(exit.i0) : none()));
1336
1337
 
1337
1338
  /* @internal */
1338
1339
  const replicate = /*#__PURE__*/dual(2, (self, n) => Array.from({
@@ -1440,7 +1441,7 @@ const forEachParUnboundedDiscard = (self, f, batching) => suspend(() => {
1440
1441
  return unit;
1441
1442
  }
1442
1443
  }
1443
- }))), forkDaemon, map$1(fiber => {
1444
+ }))), forkDaemon, map$2(fiber => {
1444
1445
  fiber.addObserver(() => {
1445
1446
  joinOrder.push(fiber);
1446
1447
  });
@@ -1466,7 +1467,7 @@ const forEachParUnboundedDiscard = (self, f, batching) => suspend(() => {
1466
1467
  const forEachParN = (self, n, f, batching) => suspend(() => {
1467
1468
  const as = fromIterable(self);
1468
1469
  const array = new Array(as.length);
1469
- const fn = (a, i) => map$1(f(a, i), b => array[i] = b);
1470
+ const fn = (a, i) => map$2(f(a, i), b => array[i] = b);
1470
1471
  return zipRight(forEachParNDiscard(as, n, fn, batching), succeed(array));
1471
1472
  });
1472
1473
 
@@ -1560,7 +1561,7 @@ const forkWithScopeOverride = (self, scopeOverride) => withFiberRuntime((parentF
1560
1561
  const mergeAll = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, zero, f, options) => matchSimple(options, () => fromIterable(elements).reduce((acc, a, i) => zipWith(acc, a, (acc, a) => f(acc, a, i)), succeed(zero)), () => flatMap$1(make$1(zero), acc => flatMap$1(forEachOptions(elements, (effect, i) => flatMap$1(effect, a => update(acc, b => f(b, a, i))), options), () => get$2(acc)))));
1561
1562
 
1562
1563
  /* @internal */
1563
- const partition = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, f, options) => pipe(forEachOptions(elements, (a, i) => either(f(a, i)), options), map$1(chunk => partitionMap(chunk, identity))));
1564
+ const partition = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, f, options) => pipe(forEachOptions(elements, (a, i) => either(f(a, i)), options), map$2(chunk => partitionMap(chunk, identity))));
1564
1565
 
1565
1566
  /* @internal */
1566
1567
  const validateAll = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, f, options) => flatMap$1(partition(elements, f, {
@@ -1577,7 +1578,7 @@ const raceAll = all => {
1577
1578
  const self = headNonEmpty(list);
1578
1579
  const effects = tailNonEmpty(list);
1579
1580
  const inheritAll$1 = res => pipe(inheritAll(res[1]), as(res[0]));
1580
- return pipe(deferredMake(), flatMap$1(done => pipe(make$1(effects.length), flatMap$1(fails => uninterruptibleMask(restore => pipe(fork(interruptible(self)), flatMap$1(head => pipe(effects, forEachSequential(effect => fork(interruptible(effect))), map$1(unsafeFromArray), map$1(tail => pipe(tail, prepend(head))), tap(fibers => pipe(fibers, reduce(unit, (effect, fiber) => pipe(effect, zipRight(pipe(_await(fiber), flatMap$1(raceAllArbiter(fibers, fiber, done, fails)), fork, asUnit)))))), flatMap$1(fibers => pipe(restore(pipe(_await$1(done), flatMap$1(inheritAll$1))), onInterrupt(() => pipe(fibers, reduce(unit, (effect, fiber) => pipe(effect, zipLeft(interruptFiber(fiber))))))))))))))));
1581
+ return pipe(deferredMake(), flatMap$1(done => pipe(make$1(effects.length), flatMap$1(fails => uninterruptibleMask(restore => pipe(fork(interruptible(self)), flatMap$1(head => pipe(effects, forEachSequential(effect => fork(interruptible(effect))), map$2(unsafeFromArray), map$2(tail => pipe(tail, prepend(head))), tap(fibers => pipe(fibers, reduce(unit, (effect, fiber) => pipe(effect, zipRight(pipe(_await(fiber), flatMap$1(raceAllArbiter(fibers, fiber, done, fails)), fork, asUnit)))))), flatMap$1(fibers => pipe(restore(pipe(_await$1(done), flatMap$1(inheritAll$1))), onInterrupt(() => pipe(fibers, reduce(unit, (effect, fiber) => pipe(effect, zipLeft(interruptFiber(fiber))))))))))))))));
1581
1582
  };
1582
1583
 
1583
1584
  /* @internal */
@@ -1598,7 +1599,7 @@ const reduceEffect = /*#__PURE__*/dual(args => isIterable(args[0]), (elements, z
1598
1599
  return some(f(acc.value, elem, i));
1599
1600
  }
1600
1601
  }
1601
- }, options), map$1(option => {
1602
+ }, options), map$2(option => {
1602
1603
  switch (option._tag) {
1603
1604
  case "None":
1604
1605
  {
@@ -1703,7 +1704,7 @@ const withClockScoped = value => fiberRefLocallyScopedWith(currentServices, add(
1703
1704
  const withConfigProviderScoped = value => fiberRefLocallyScopedWith(currentServices, add(configProviderTag, value));
1704
1705
 
1705
1706
  /* @internal */
1706
- const withEarlyRelease = self => scopeWith(parent => flatMap$1(scopeFork(parent, sequential$2), child => pipe(self, scopeExtend(child), map$1(value => [fiberIdWith(fiberId => scopeClose(child, exitInterrupt(fiberId))), value]))));
1707
+ const withEarlyRelease = self => scopeWith(parent => flatMap$1(scopeFork(parent, sequential$2), child => pipe(self, scopeExtend(child), map$2(value => [fiberIdWith(fiberId => scopeClose(child, exitInterrupt(fiberId))), value]))));
1707
1708
 
1708
1709
  /** @internal */
1709
1710
  const zipOptions = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, options) => zipWithOptions(self, that, (a, b) => [a, b], options));
@@ -1715,7 +1716,7 @@ const zipLeftOptions = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that,
1715
1716
  const zipRightOptions = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, options) => zipWithOptions(self, that, (_, b) => b, options));
1716
1717
 
1717
1718
  /** @internal */
1718
- const zipWithOptions = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, f, options) => map$1(all([self, that], {
1719
+ const zipWithOptions = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, f, options) => map$2(all([self, that], {
1719
1720
  concurrency: options?.concurrent ? 2 : 1,
1720
1721
  batching: options?.batching
1721
1722
  }), ([a, a2]) => f(a, a2)));
@@ -1770,7 +1771,7 @@ const scopeTag = /*#__PURE__*/Tag(ScopeTypeId);
1770
1771
  const scope = scopeTag;
1771
1772
 
1772
1773
  /* @internal */
1773
- const scopeMake = (strategy = sequential$2) => map$1(releaseMapMake, rm => ({
1774
+ const scopeMake = (strategy = sequential$2) => map$2(releaseMapMake, rm => ({
1774
1775
  [ScopeTypeId]: ScopeTypeId,
1775
1776
  [CloseableScopeTypeId]: CloseableScopeTypeId,
1776
1777
  strategy,
@@ -1834,9 +1835,9 @@ const fiberAll = fibers => ({
1834
1835
  [FiberTypeId]: fiberVariance,
1835
1836
  id: () => fromIterable(fibers).reduce((id, fiber) => combine(id, fiber.id()), none$2),
1836
1837
  await: () => exit(forEachParUnbounded(fibers, fiber => flatten(fiber.await()), false)),
1837
- children: () => map$1(forEachParUnbounded(fibers, fiber => fiber.children(), false), flatten$1),
1838
+ children: () => map$2(forEachParUnbounded(fibers, fiber => fiber.children(), false), flatten$1),
1838
1839
  inheritAll: () => forEachSequentialDiscard(fibers, fiber => fiber.inheritAll()),
1839
- poll: () => map$1(forEachSequential(fibers, fiber => fiber.poll()), reduceRight(some(exitSucceed(new Array())), (optionB, optionA) => {
1840
+ poll: () => map$2(forEachSequential(fibers, fiber => fiber.poll()), reduceRight(some(exitSucceed(new Array())), (optionB, optionA) => {
1840
1841
  switch (optionA._tag) {
1841
1842
  case "None":
1842
1843
  {
@@ -1994,15 +1995,18 @@ const interruptWhenPossible = /*#__PURE__*/dual(2, (self, all) => fiberRefGetWit
1994
1995
  // circular Tracer
1995
1996
 
1996
1997
  /** @internal */
1997
- const useSpanScoped = (name, options) => acquireRelease(makeSpan(name, options), (span, exit) => flatMap$1(currentTimeNanosTracing, endTime => sync(() => span.end(endTime, exit))));
1998
+ const makeSpanScoped = (name, options) => acquireRelease(makeSpan(name, options), (span, exit) => flatMap$1(currentTimeNanosTracing, endTime => sync(() => span.end(endTime, exit))));
1998
1999
 
1999
2000
  /* @internal */
2000
- const withSpanScoped = (name, options) => flatMap$1(useSpanScoped(name, options), span => fiberRefLocallyScopedWith(currentTracerSpan, prepend$1(span)));
2001
+ const setSpan = (name, options) => tap(makeSpanScoped(name, options), span => setParentSpan(span));
2001
2002
 
2002
2003
  /* @internal */
2003
2004
  const withTracerScoped = value => fiberRefLocallyScopedWith(currentServices, add(tracerTag, value));
2004
2005
 
2005
2006
  /* @internal */
2006
- const withParentSpanScoped = span => fiberRefLocallyScopedWith(currentTracerSpan, prepend$1(span));
2007
+ const setParentSpan = span => fiberRefLocallyScopedWith(currentTracerSpan, prepend$1(span));
2007
2008
 
2008
- export { FiberRuntime, acquireRelease, acquireReleaseInterruptible, addFinalizer, all, allSuccesses, allWith, currentLoggers, currentMinimumLogLevel, currentRuntimeFlags, currentSupervisor, daemonChildren, defaultLogger, disconnect, ensuring, exists, fiberActive, fiberAll, fiberAwaitAll, fiberFailures, fiberInterruptFork, fiberJoinAll, fiberLifetimes, fiberRefLocallyScoped, fiberRefLocallyScopedWith, fiberRefMake, fiberRefMakeContext, fiberRefMakeRuntimeFlags, fiberRefMakeWith, fiberRefUnsafeMakeSupervisor, fiberScoped, fiberStarted, fiberSuccesses, filter, finalizersMask, forEachOptions, forEachParN, forEachParNDiscard, forEachParUnbounded, forEachParUnboundedDiscard, fork, forkDaemon, forkWithErrorHandler, getConsole, interruptWhenPossible, invokeWithInterrupt, labelMetricsScoped, labelMetricsScopedSet, logFmtLogger, mergeAll, parallelFinalizers, parallelNFinalizers, partition, race, raceAll, raceFibersWith, raceWith, reduceEffect, releaseMapReleaseAll, replicate, replicateEffect, runtimeFiberVariance, scope, scopeExtend, scopeMake, scopeTag, scopeUse, scopeWith, scopedEffect, sequentialFinalizers, tagMetricsScoped, tracerLogger, unsafeFork, unsafeMakeChildFiber, useSpanScoped, using, validate, validateAll, validateFirst, validateWith, withClockScoped, withConfigProviderScoped, withEarlyRelease, withParentSpanScoped, withRuntimeFlagsScoped, withSpanScoped, withTracerScoped, zipLeftOptions, zipOptions, zipRightOptions, zipWithOptions };
2009
+ /** @internal */
2010
+ const withSpanScoped = /*#__PURE__*/dual(args => typeof args[0] !== "string", (self, name, options) => flatMap$1(makeSpanScoped(name, options), span => fiberRefLocallyWith(self, currentTracerSpan, prepend$1(span))));
2011
+
2012
+ export { FiberRuntime, acquireRelease, acquireReleaseInterruptible, addFinalizer, all, allSuccesses, allWith, currentLoggers, currentMinimumLogLevel, currentRuntimeFlags, currentSupervisor, daemonChildren, defaultLogger, disconnect, ensuring, exists, fiberActive, fiberAll, fiberAwaitAll, fiberFailures, fiberInterruptFork, fiberJoinAll, fiberLifetimes, fiberRefLocallyScoped, fiberRefLocallyScopedWith, fiberRefMake, fiberRefMakeContext, fiberRefMakeRuntimeFlags, fiberRefMakeWith, fiberRefUnsafeMakeSupervisor, fiberScoped, fiberStarted, fiberSuccesses, filter, finalizersMask, forEachOptions, forEachParN, forEachParNDiscard, forEachParUnbounded, forEachParUnboundedDiscard, fork, forkDaemon, forkWithErrorHandler, getConsole, interruptWhenPossible, invokeWithInterrupt, labelMetricsScoped, labelMetricsScopedSet, logFmtLogger, makeSpanScoped, mergeAll, parallelFinalizers, parallelNFinalizers, partition, race, raceAll, raceFibersWith, raceWith, reduceEffect, releaseMapReleaseAll, replicate, replicateEffect, runtimeFiberVariance, scope, scopeExtend, scopeMake, scopeTag, scopeUse, scopeWith, scopedEffect, sequentialFinalizers, setParentSpan, setSpan, tagMetricsScoped, tracerLogger, unsafeFork, unsafeMakeChildFiber, using, validate, validateAll, validateFirst, validateWith, withClockScoped, withConfigProviderScoped, withEarlyRelease, withRuntimeFlagsScoped, withSpanScoped, withTracerScoped, zipLeftOptions, zipOptions, zipRightOptions, zipWithOptions };
@@ -1,12 +1,11 @@
1
1
  import { dual } from '../../Function/dist/effect-Function.esm.js';
2
2
  import { add, remove } from '../../HashSet/dist/effect-HashSet.esm.js';
3
- import { fiberRefLocally, map } from '../core.esm.js';
4
- import { fiberRefLocallyScoped, currentMinimumLogLevel, fiberRefLocallyScopedWith, currentLoggers, currentSupervisor, withRuntimeFlagsScoped, withConfigProviderScoped, withParentSpanScoped, withSpanScoped, withTracerScoped } from '../fiberRuntime.esm.js';
5
- import { scopedDiscard, flatMap } from '../layer.esm.js';
3
+ import { fiberRefLocally, map, tap, zipRight } from '../core.esm.js';
4
+ import { fiberRefLocallyScoped, currentMinimumLogLevel, fiberRefLocallyScopedWith, currentLoggers, currentSupervisor, withRuntimeFlagsScoped, withConfigProviderScoped, setParentSpan as setParentSpan$1, makeSpanScoped, addFinalizer, setSpan as setSpan$1, withTracerScoped } from '../fiberRuntime.esm.js';
5
+ import { scopedDiscard, unwrapEffect, unwrapScoped, flatMap } from '../layer.esm.js';
6
6
  import { CooperativeYielding, Interruption, OpSupervision, RuntimeMetrics, WindDown } from '../runtimeFlags.esm.js';
7
7
  import { enable, disable } from '../runtimeFlagsPatch.esm.js';
8
8
  import { Zip } from '../supervisor.esm.js';
9
- import { unwrapEffect, unwrapScoped } from '../../Layer/dist/effect-Layer.esm.js';
10
9
 
11
10
  // circular with Logger
12
11
  /** @internal */
@@ -73,10 +72,10 @@ const disableWindDown = /*#__PURE__*/scopedDiscard( /*#__PURE__*/withRuntimeFlag
73
72
  const setConfigProvider = configProvider => scopedDiscard(withConfigProviderScoped(configProvider));
74
73
 
75
74
  /** @internal */
76
- const setParentSpan = span => scopedDiscard(withParentSpanScoped(span));
75
+ const setParentSpan = span => scopedDiscard(setParentSpan$1(span));
77
76
 
78
77
  /** @internal */
79
- const setSpan = (name, options) => scopedDiscard(withSpanScoped(name, options));
78
+ const setSpan = (name, options) => scopedDiscard(options?.onEnd ? tap(makeSpanScoped(name, options), span => zipRight(addFinalizer(exit => options.onEnd(span, exit)), setParentSpan$1(span))) : setSpan$1(name, options));
80
79
 
81
80
  /** @internal */
82
81
  const setTracer = tracer => scopedDiscard(withTracerScoped(tracer));
@@ -4,15 +4,16 @@ import { empty, get, make, merge as merge$1, unsafeGet, Tag, isContext, isTag }
4
4
  import { millis } from '../Duration/dist/effect-Duration.esm.js';
5
5
  import { diff as diff$1 } from '../FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js';
6
6
  import { dual, pipe } from '../Function/dist/effect-Function.esm.js';
7
- import { flatMap as flatMap$1, sync as sync$1, zipWith, provideContext, matchCauseEffect, context as context$1, failCause as failCause$1, failCauseSync as failCauseSync$1, map as map$1, fiberRefLocally as fiberRefLocally$1, fiberRefLocallyWith as fiberRefLocallyWith$1, zipRight, never, as, succeed as succeed$1, fail as fail$2, provideSomeContext, acquireUseRelease, scopeClose, updateRuntimeFlags, flatten as flatten$1, onExit, exitMatch, unit, scopeAddFinalizerExit, deferredMake, uninterruptibleMask, exit, whenEffect, asUnit, deferredSucceed, deferredFailCause, deferredAwait, exitMatchEffect } from './core.esm.js';
8
- import { memoize as memoize$1, withParentSpan, patchFiberRefs, diffFiberRefs } from './core-effect.esm.js';
7
+ import { flatMap as flatMap$1, sync as sync$1, zipWith, provideContext, matchCauseEffect, context as context$1, failCause as failCause$1, failCauseSync as failCauseSync$1, map as map$1, fiberRefLocally as fiberRefLocally$1, fiberRefLocallyWith as fiberRefLocallyWith$1, zipRight, never, as, succeed as succeed$1, fail as fail$2, tap as tap$1, currentTracerSpan, provideSomeContext, acquireUseRelease, scopeClose, updateRuntimeFlags, flatten as flatten$1, onExit, exitMatch, unit, scopeAddFinalizerExit, deferredMake, uninterruptibleMask, exit, whenEffect, asUnit, deferredSucceed, deferredFailCause, deferredAwait, exitMatchEffect } from './core.esm.js';
8
+ import { memoize as memoize$1, patchFiberRefs, diffFiberRefs } from './core-effect.esm.js';
9
9
  import { makeSynchronized } from './effect/circular.esm.js';
10
- import { scopeWith, zipWithOptions, scopeExtend, fiberRefLocallyScoped as fiberRefLocallyScoped$1, fiberRefLocallyScopedWith as fiberRefLocallyScopedWith$1, scopedEffect, acquireRelease, scopeMake, useSpanScoped } from './fiberRuntime.esm.js';
10
+ import { scopeWith, zipWithOptions, scopeExtend, fiberRefLocallyScoped as fiberRefLocallyScoped$1, fiberRefLocallyScopedWith as fiberRefLocallyScopedWith$1, scopedEffect, acquireRelease, scopeMake, makeSpanScoped, addFinalizer } from './fiberRuntime.esm.js';
11
11
  import { OP_SUCCESS, OP_FAILURE } from './opCodes/effect.esm.js';
12
12
  import { OP_FRESH, OP_EXTEND_SCOPE, OP_FROM_EFFECT, OP_FOLD, OP_ZIP_WITH, OP_SCOPED, OP_SUSPEND, OP_PROVIDE_TO, OP_ZIP_WITH_PAR } from './opCodes/layer.esm.js';
13
13
  import { make as make$1, set, modify, update, get as get$1 } from './ref.esm.js';
14
14
  import { runtime, defaultRuntime } from './runtime.esm.js';
15
15
  import { modifyEffect } from './synchronizedRef.esm.js';
16
+ import { prepend } from '../List/dist/effect-List.esm.js';
16
17
  import { pipeArguments } from '../Pipeable/dist/effect-Pipeable.esm.js';
17
18
  import { isDone } from '../ScheduleDecision/dist/effect-ScheduleDecision.esm.js';
18
19
  import { start } from '../ScheduleIntervals/dist/effect-ScheduleIntervals.esm.js';
@@ -552,7 +553,10 @@ const unwrapScoped = self => {
552
553
  // -----------------------------------------------------------------------------
553
554
 
554
555
  /** @internal */
555
- const withSpan = /*#__PURE__*/dual(args => isLayer(args[0]), (self, name, options) => unwrapScoped(map$1(useSpanScoped(name, options), span => locallyEffect(self, withParentSpan(span)))));
556
+ const withSpan = /*#__PURE__*/dual(args => isLayer(args[0]), (self, name, options) => unwrapScoped(map$1(options?.onEnd ? tap$1(makeSpanScoped(name, options), span => addFinalizer(exit => options.onEnd(span, exit))) : makeSpanScoped(name, options), span => withParentSpan(self, span))));
557
+
558
+ /** @internal */
559
+ const withParentSpan = /*#__PURE__*/dual(2, (self, span) => fiberRefLocallyWith(self, currentTracerSpan, prepend(span)));
556
560
 
557
561
  // circular with Effect
558
562
 
@@ -568,4 +572,4 @@ const provideSomeRuntime = /*#__PURE__*/dual(2, (self, rt) => {
568
572
  /** @internal */
569
573
  const effect_provide = /*#__PURE__*/dual(2, (self, source) => isLayer(source) ? provideSomeLayer(self, source) : isContext(source) ? provideSomeContext(self, source) : provideSomeRuntime(self, source));
570
574
 
571
- export { LayerTypeId, build, buildWithScope, catchAll, catchAllCause, context, die, dieSync, discard, effect_provide, extendScope, fail, failCause, failCauseSync, failSync, fiberRefLocally, fiberRefLocallyScoped, fiberRefLocallyScopedWith, fiberRefLocallyWith, flatMap, flatten, fresh, fromEffect, fromEffectContext, fromEffectDiscard, fromFunction, isFresh, isLayer, launch, locallyEffect, map, mapError, match, matchCause, memoize, merge, mergeAll, orDie, orElse, passthrough, project, provide, provideMerge, retry, scope, scoped, scopedContext, scopedDiscard, service, succeed, succeedContext, suspend, sync, syncContext, tap, tapError, tapErrorCause, toRuntime, unwrapEffect, unwrapScoped, use, useMerge, withSpan, zipWithPar };
575
+ export { LayerTypeId, build, buildWithScope, catchAll, catchAllCause, context, die, dieSync, discard, effect_provide, extendScope, fail, failCause, failCauseSync, failSync, fiberRefLocally, fiberRefLocallyScoped, fiberRefLocallyScopedWith, fiberRefLocallyWith, flatMap, flatten, fresh, fromEffect, fromEffectContext, fromEffectDiscard, fromFunction, isFresh, isLayer, launch, locallyEffect, map, mapError, match, matchCause, memoize, merge, mergeAll, orDie, orElse, passthrough, project, provide, provideMerge, retry, scope, scoped, scopedContext, scopedDiscard, service, succeed, succeedContext, suspend, sync, syncContext, tap, tapError, tapErrorCause, toRuntime, unwrapEffect, unwrapScoped, use, useMerge, withParentSpan, withSpan, zipWithPar };
@@ -124,7 +124,7 @@ const stringLogger = /*#__PURE__*/makeLogger(({
124
124
  }
125
125
  output = output + filterKeyName(key);
126
126
  output = output + "=";
127
- output = appendQuoted(String(value), output);
127
+ output = appendQuoted(serializeUnknown(value), output);
128
128
  }
129
129
  }
130
130
  return output;
@@ -189,7 +189,7 @@ const logfmtLogger = /*#__PURE__*/makeLogger(({
189
189
  }
190
190
  output = output + filterKeyName(key);
191
191
  output = output + "=";
192
- output = appendQuotedLogfmt(String(value), output);
192
+ output = appendQuotedLogfmt(serializeUnknown(value), output);
193
193
  }
194
194
  }
195
195
  return output;
@@ -210,4 +210,4 @@ const renderLogSpanLogfmt = now => self => {
210
210
  return `${label}=${now - self.startTime}ms`;
211
211
  };
212
212
 
213
- export { LoggerTypeId, filterLogLevel, logfmtLogger, makeLogger, map, mapInput, none, simple, stringLogger, succeed, sync, zip, zipLeft, zipRight };
213
+ export { LoggerTypeId, filterLogLevel, logfmtLogger, makeLogger, map, mapInput, none, serializeUnknown, simple, stringLogger, succeed, sync, zip, zipLeft, zipRight };
@@ -0,0 +1,314 @@
1
+ import { left, isEither, right, match } from '../Either/dist/effect-Either.esm.js';
2
+ import { identity } from '../Function/dist/effect-Function.esm.js';
3
+ import { none, some } from '../Option/dist/effect-Option.esm.js';
4
+ import { pipeArguments } from '../Pipeable/dist/effect-Pipeable.esm.js';
5
+
6
+ /** @internal */
7
+ const TypeId = /*#__PURE__*/Symbol.for("@effect/matcher/Matcher");
8
+ const TypeMatcherProto = {
9
+ [TypeId]: {
10
+ _input: identity,
11
+ _filters: identity,
12
+ _remaining: identity,
13
+ _result: identity
14
+ },
15
+ _tag: "TypeMatcher",
16
+ add(_case) {
17
+ return makeTypeMatcher([...this.cases, _case]);
18
+ },
19
+ pipe() {
20
+ return pipeArguments(this, arguments);
21
+ }
22
+ };
23
+ function makeTypeMatcher(cases) {
24
+ const matcher = Object.create(TypeMatcherProto);
25
+ matcher.cases = cases;
26
+ return matcher;
27
+ }
28
+ const ValueMatcherProto = {
29
+ [TypeId]: {
30
+ _input: identity,
31
+ _filters: identity,
32
+ _result: identity
33
+ },
34
+ _tag: "ValueMatcher",
35
+ add(_case) {
36
+ if (this.value._tag === "Right") {
37
+ return this;
38
+ }
39
+ if (_case._tag === "When" && _case.guard(this.provided) === true) {
40
+ return makeValueMatcher(this.provided, right(_case.evaluate(this.provided)));
41
+ } else if (_case._tag === "Not" && _case.guard(this.provided) === false) {
42
+ return makeValueMatcher(this.provided, right(_case.evaluate(this.provided)));
43
+ }
44
+ return this;
45
+ },
46
+ pipe() {
47
+ return pipeArguments(this, arguments);
48
+ }
49
+ };
50
+ function makeValueMatcher(provided, value) {
51
+ const matcher = Object.create(ValueMatcherProto);
52
+ matcher.provided = provided;
53
+ matcher.value = value;
54
+ return matcher;
55
+ }
56
+ const makeWhen = (guard, evaluate) => ({
57
+ _tag: "When",
58
+ guard,
59
+ evaluate
60
+ });
61
+ const makeNot = (guard, evaluate) => ({
62
+ _tag: "Not",
63
+ guard,
64
+ evaluate
65
+ });
66
+ const makePredicate = pattern => {
67
+ if (typeof pattern === "function") {
68
+ return pattern;
69
+ } else if (Array.isArray(pattern)) {
70
+ const predicates = pattern.map(makePredicate);
71
+ const len = predicates.length;
72
+ return u => {
73
+ if (!Array.isArray(u)) {
74
+ return false;
75
+ }
76
+ for (let i = 0; i < len; i++) {
77
+ if (predicates[i](u[i]) === false) {
78
+ return false;
79
+ }
80
+ }
81
+ return true;
82
+ };
83
+ } else if (pattern !== null && typeof pattern === "object") {
84
+ const keysAndPredicates = Object.entries(pattern).map(([k, p]) => [k, makePredicate(p)]);
85
+ const len = keysAndPredicates.length;
86
+ return u => {
87
+ if (typeof u !== "object" || u === null) {
88
+ return false;
89
+ }
90
+ for (let i = 0; i < len; i++) {
91
+ const [key, predicate] = keysAndPredicates[i];
92
+ if (!(key in u) || predicate(u[key]) === false) {
93
+ return false;
94
+ }
95
+ }
96
+ return true;
97
+ };
98
+ }
99
+ return u => u === pattern;
100
+ };
101
+ const makeOrPredicate = patterns => {
102
+ const predicates = patterns.map(makePredicate);
103
+ const len = predicates.length;
104
+ return u => {
105
+ for (let i = 0; i < len; i++) {
106
+ if (predicates[i](u) === true) {
107
+ return true;
108
+ }
109
+ }
110
+ return false;
111
+ };
112
+ };
113
+ const makeAndPredicate = patterns => {
114
+ const predicates = patterns.map(makePredicate);
115
+ const len = predicates.length;
116
+ return u => {
117
+ for (let i = 0; i < len; i++) {
118
+ if (predicates[i](u) === false) {
119
+ return false;
120
+ }
121
+ }
122
+ return true;
123
+ };
124
+ };
125
+
126
+ /** @internal */
127
+ const type = () => makeTypeMatcher([]);
128
+
129
+ /** @internal */
130
+ const value = i => makeValueMatcher(i, left(i));
131
+
132
+ /** @internal */
133
+ const valueTags = fields => {
134
+ const match = tagsExhaustive(fields)(makeTypeMatcher([]));
135
+ return input => match(input);
136
+ };
137
+
138
+ /** @internal */
139
+ const typeTags = () => fields => {
140
+ const match = tagsExhaustive(fields)(makeTypeMatcher([]));
141
+ return input => match(input);
142
+ };
143
+
144
+ /** @internal */
145
+ const when = (pattern, f) => self => self.add(makeWhen(makePredicate(pattern), f));
146
+
147
+ /** @internal */
148
+ const whenOr = (...args) => self => {
149
+ const onMatch = args[args.length - 1];
150
+ const patterns = args.slice(0, -1);
151
+ return self.add(makeWhen(makeOrPredicate(patterns), onMatch));
152
+ };
153
+
154
+ /** @internal */
155
+ const whenAnd = (...args) => self => {
156
+ const onMatch = args[args.length - 1];
157
+ const patterns = args.slice(0, -1);
158
+ return self.add(makeWhen(makeAndPredicate(patterns), onMatch));
159
+ };
160
+
161
+ /** @internal */
162
+ const discriminator = field => (...pattern) => {
163
+ const f = pattern[pattern.length - 1];
164
+ const values = pattern.slice(0, -1);
165
+ const pred = values.length === 1 ? _ => _[field] === values[0] : _ => values.includes(_[field]);
166
+ return self => self.add(makeWhen(pred, f));
167
+ };
168
+
169
+ /** @internal */
170
+ const discriminatorStartsWith = field => (pattern, f) => {
171
+ const pred = _ => typeof _[field] === "string" && _[field].startsWith(pattern);
172
+ return self => self.add(makeWhen(pred, f));
173
+ };
174
+
175
+ /** @internal */
176
+ const discriminators = field => fields => {
177
+ const predicates = [];
178
+ for (const key in fields) {
179
+ const pred = _ => _[field] === key;
180
+ const f = fields[key];
181
+ if (f) {
182
+ predicates.push(makeWhen(pred, f));
183
+ }
184
+ }
185
+ const len = predicates.length;
186
+ return self => {
187
+ let matcher = self;
188
+ for (let i = 0; i < len; i++) {
189
+ matcher = matcher.add(predicates[i]);
190
+ }
191
+ return matcher;
192
+ };
193
+ };
194
+
195
+ /** @internal */
196
+ const discriminatorsExhaustive = field => fields => {
197
+ const addCases = discriminators(field)(fields);
198
+ return matcher => exhaustive(addCases(matcher));
199
+ };
200
+
201
+ /** @internal */
202
+ const tag = /*#__PURE__*/discriminator("_tag");
203
+
204
+ /** @internal */
205
+ const tagStartsWith = /*#__PURE__*/discriminatorStartsWith("_tag");
206
+
207
+ /** @internal */
208
+ const tags = /*#__PURE__*/discriminators("_tag");
209
+
210
+ /** @internal */
211
+ const tagsExhaustive = /*#__PURE__*/discriminatorsExhaustive("_tag");
212
+
213
+ /** @internal */
214
+ const not = (pattern, f) => self => self.add(makeNot(makePredicate(pattern), f));
215
+
216
+ /** @internal */
217
+ const nonEmptyString = u => typeof u === "string" && u.length > 0;
218
+
219
+ /** @internal */
220
+ const is = (...literals) => {
221
+ const len = literals.length;
222
+ return u => {
223
+ for (let i = 0; i < len; i++) {
224
+ if (u === literals[i]) {
225
+ return true;
226
+ }
227
+ }
228
+ return false;
229
+ };
230
+ };
231
+
232
+ /** @internal */
233
+ const any = () => true;
234
+
235
+ /** @internal */
236
+ const defined = u => u !== undefined && u !== null;
237
+
238
+ /** @internal */
239
+ const instanceOf = constructor => u => u instanceof constructor;
240
+
241
+ /** @internal */
242
+ const orElse = f => self => {
243
+ const result = either(self);
244
+ if (isEither(result)) {
245
+ // @ts-expect-error
246
+ return result._tag === "Right" ? result.right : f(result.left);
247
+ }
248
+
249
+ // @ts-expect-error
250
+ return input => {
251
+ const a = result(input);
252
+ return a._tag === "Right" ? a.right : f(a.left);
253
+ };
254
+ };
255
+
256
+ /** @internal */
257
+ const orElseAbsurd = self => orElse(() => {
258
+ throw new Error("absurd");
259
+ })(self);
260
+
261
+ /** @internal */
262
+ const either = self => {
263
+ if (self._tag === "ValueMatcher") {
264
+ return self.value;
265
+ }
266
+ const len = self.cases.length;
267
+ return input => {
268
+ for (let i = 0; i < len; i++) {
269
+ const _case = self.cases[i];
270
+ if (_case._tag === "When" && _case.guard(input) === true) {
271
+ return right(_case.evaluate(input));
272
+ } else if (_case._tag === "Not" && _case.guard(input) === false) {
273
+ return right(_case.evaluate(input));
274
+ }
275
+ }
276
+ return left(input);
277
+ };
278
+ };
279
+
280
+ /** @internal */
281
+ const option = self => {
282
+ const toEither = either(self);
283
+ if (isEither(toEither)) {
284
+ return match(toEither, {
285
+ onLeft: () => none(),
286
+ onRight: some
287
+ });
288
+ }
289
+ return input => match(toEither(input), {
290
+ onLeft: () => none(),
291
+ onRight: some
292
+ });
293
+ };
294
+
295
+ /** @internal */
296
+ const exhaustive = self => {
297
+ const toEither = either(self);
298
+ if (isEither(toEither)) {
299
+ if (toEither._tag === "Right") {
300
+ return toEither.right;
301
+ }
302
+ throw new Error("@effect/match: exhaustive absurd");
303
+ }
304
+ return u => {
305
+ // @ts-expect-error
306
+ const result = toEither(u);
307
+ if (result._tag === "Right") {
308
+ return result.right;
309
+ }
310
+ throw new Error("@effect/match: exhaustive absurd");
311
+ };
312
+ };
313
+
314
+ export { TypeId, any, defined, discriminator, discriminatorStartsWith, discriminators, discriminatorsExhaustive, either, exhaustive, instanceOf, is, nonEmptyString, not, option, orElse, orElseAbsurd, tag, tagStartsWith, tags, tagsExhaustive, type, typeTags, value, valueTags, when, whenAnd, whenOr };