effect 2.0.0-next.47 → 2.0.0-next.49

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 (445) 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 +50 -41
  18. package/Channel/dist/effect-Channel.cjs.mjs +1 -0
  19. package/Channel/dist/effect-Channel.cjs.prod.js +50 -41
  20. package/Channel/dist/effect-Channel.esm.js +10 -2
  21. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -38
  22. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -38
  23. package/Chunk/dist/effect-Chunk.cjs.dev.js +13 -4
  24. package/Chunk/dist/effect-Chunk.cjs.mjs +1 -0
  25. package/Chunk/dist/effect-Chunk.cjs.prod.js +13 -4
  26. package/Chunk/dist/effect-Chunk.esm.js +10 -2
  27. package/Clock/dist/effect-Clock.cjs.dev.js +14 -14
  28. package/Clock/dist/effect-Clock.cjs.prod.js +14 -14
  29. package/Config/dist/effect-Config.cjs.dev.js +11 -11
  30. package/Config/dist/effect-Config.cjs.prod.js +11 -11
  31. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
  32. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
  33. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +13 -13
  34. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +13 -13
  35. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
  36. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
  37. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
  38. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
  39. package/Console/dist/effect-Console.cjs.dev.js +32 -32
  40. package/Console/dist/effect-Console.cjs.prod.js +32 -32
  41. package/Context/dist/effect-Context.cjs.dev.js +3 -3
  42. package/Context/dist/effect-Context.cjs.prod.js +3 -3
  43. package/Data/dist/effect-Data.cjs.dev.js +50 -46
  44. package/Data/dist/effect-Data.cjs.prod.js +50 -46
  45. package/Data/dist/effect-Data.esm.js +11 -5
  46. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +14 -14
  47. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +14 -14
  48. package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
  49. package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
  50. package/Differ/dist/effect-Differ.cjs.dev.js +5 -5
  51. package/Differ/dist/effect-Differ.cjs.prod.js +5 -5
  52. package/Duration/dist/effect-Duration.cjs.dev.js +4 -4
  53. package/Duration/dist/effect-Duration.cjs.prod.js +4 -4
  54. package/Duration/dist/effect-Duration.esm.js +2 -2
  55. package/Effect/dist/effect-Effect.cjs.dev.js +67 -136
  56. package/Effect/dist/effect-Effect.cjs.mjs +2 -11
  57. package/Effect/dist/effect-Effect.cjs.prod.js +67 -136
  58. package/Effect/dist/effect-Effect.esm.js +30 -90
  59. package/Effectable/dist/effect-Effectable.cjs.dev.js +1 -1
  60. package/Effectable/dist/effect-Effectable.cjs.prod.js +1 -1
  61. package/Either/dist/effect-Either.cjs.dev.js +17 -3
  62. package/Either/dist/effect-Either.cjs.mjs +3 -1
  63. package/Either/dist/effect-Either.cjs.prod.js +17 -3
  64. package/Either/dist/effect-Either.esm.js +13 -1
  65. package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
  66. package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
  67. package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
  68. package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
  69. package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
  70. package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
  71. package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
  72. package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
  73. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
  74. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
  75. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
  76. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
  77. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
  78. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
  79. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +43 -43
  80. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +43 -43
  81. package/HashMap/dist/effect-HashMap.cjs.dev.js +4 -4
  82. package/HashMap/dist/effect-HashMap.cjs.prod.js +4 -4
  83. package/HashSet/dist/effect-HashSet.cjs.dev.js +4 -4
  84. package/HashSet/dist/effect-HashSet.cjs.prod.js +4 -4
  85. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +29 -29
  86. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +29 -29
  87. package/Layer/dist/effect-Layer.cjs.dev.js +151 -52
  88. package/Layer/dist/effect-Layer.cjs.mjs +12 -0
  89. package/Layer/dist/effect-Layer.cjs.prod.js +151 -52
  90. package/Layer/dist/effect-Layer.esm.js +92 -2
  91. package/List/dist/effect-List.cjs.dev.js +10 -3
  92. package/List/dist/effect-List.cjs.mjs +1 -0
  93. package/List/dist/effect-List.cjs.prod.js +10 -3
  94. package/List/dist/effect-List.esm.js +7 -1
  95. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
  96. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
  97. package/Logger/dist/effect-Logger.cjs.dev.js +33 -39
  98. package/Logger/dist/effect-Logger.cjs.prod.js +33 -39
  99. package/Logger/dist/effect-Logger.esm.js +0 -5
  100. package/Match/dist/effect-Match.cjs.d.mts +2 -0
  101. package/Match/dist/effect-Match.cjs.d.mts.map +1 -0
  102. package/Match/dist/effect-Match.cjs.d.ts +2 -0
  103. package/Match/dist/effect-Match.cjs.d.ts.map +1 -0
  104. package/Match/dist/effect-Match.cjs.dev.js +620 -0
  105. package/Match/dist/effect-Match.cjs.js +7 -0
  106. package/Match/dist/effect-Match.cjs.mjs +39 -0
  107. package/Match/dist/effect-Match.cjs.prod.js +620 -0
  108. package/Match/dist/effect-Match.esm.js +258 -0
  109. package/Match/package.json +4 -0
  110. package/Metric/dist/effect-Metric.cjs.dev.js +115 -33
  111. package/Metric/dist/effect-Metric.cjs.prod.js +115 -33
  112. package/Metric/dist/effect-Metric.esm.js +88 -6
  113. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
  114. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
  115. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
  116. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
  117. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +7 -7
  118. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +7 -7
  119. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
  120. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
  121. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +1 -1
  122. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +1 -1
  123. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +29 -29
  124. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +29 -29
  125. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
  126. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
  127. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  128. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  129. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
  130. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
  131. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
  132. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
  133. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
  134. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
  135. package/Option/dist/effect-Option.cjs.dev.js +3 -3
  136. package/Option/dist/effect-Option.cjs.prod.js +3 -3
  137. package/Pool/dist/effect-Pool.cjs.dev.js +29 -29
  138. package/Pool/dist/effect-Pool.cjs.prod.js +29 -29
  139. package/Predicate/dist/effect-Predicate.cjs.dev.js +5 -5
  140. package/Predicate/dist/effect-Predicate.cjs.mjs +1 -1
  141. package/Predicate/dist/effect-Predicate.cjs.prod.js +5 -5
  142. package/Predicate/dist/effect-Predicate.esm.js +5 -5
  143. package/PubSub/dist/effect-PubSub.cjs.dev.js +28 -28
  144. package/PubSub/dist/effect-PubSub.cjs.prod.js +28 -28
  145. package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
  146. package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
  147. package/README.md +23 -0
  148. package/Random/dist/effect-Random.cjs.dev.js +14 -14
  149. package/Random/dist/effect-Random.cjs.prod.js +14 -14
  150. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
  151. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
  152. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
  153. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
  154. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +3 -3
  155. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +3 -3
  156. package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
  157. package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
  158. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +33 -33
  159. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +33 -33
  160. package/Request/dist/effect-Request.cjs.dev.js +28 -28
  161. package/Request/dist/effect-Request.cjs.prod.js +28 -28
  162. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -38
  163. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -38
  164. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +42 -44
  165. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +42 -44
  166. package/Resource/dist/effect-Resource.cjs.dev.js +31 -31
  167. package/Resource/dist/effect-Resource.cjs.prod.js +31 -31
  168. package/Runtime/dist/effect-Runtime.cjs.dev.js +30 -30
  169. package/Runtime/dist/effect-Runtime.cjs.prod.js +30 -30
  170. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -34
  171. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -34
  172. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
  173. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
  174. package/STM/dist/effect-STM.cjs.dev.js +45 -45
  175. package/STM/dist/effect-STM.cjs.prod.js +45 -45
  176. package/Schedule/dist/effect-Schedule.cjs.dev.js +20 -20
  177. package/Schedule/dist/effect-Schedule.cjs.prod.js +20 -20
  178. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
  179. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
  180. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
  181. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
  182. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  183. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  184. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
  185. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
  186. package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
  187. package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
  188. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +34 -36
  189. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +34 -36
  190. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +31 -31
  191. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +31 -31
  192. package/Sink/dist/effect-Sink.cjs.dev.js +39 -39
  193. package/Sink/dist/effect-Sink.cjs.prod.js +39 -39
  194. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
  195. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
  196. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
  197. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
  198. package/Stream/dist/effect-Stream.cjs.dev.js +43 -43
  199. package/Stream/dist/effect-Stream.cjs.prod.js +43 -43
  200. package/Streamable/dist/effect-Streamable.cjs.dev.js +43 -43
  201. package/Streamable/dist/effect-Streamable.cjs.prod.js +43 -43
  202. package/String/dist/effect-String.cjs.dev.js +3 -3
  203. package/String/dist/effect-String.cjs.prod.js +3 -3
  204. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +46 -46
  205. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +46 -46
  206. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +33 -34
  207. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +33 -34
  208. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
  209. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
  210. package/TArray/dist/effect-TArray.cjs.dev.js +47 -47
  211. package/TArray/dist/effect-TArray.cjs.prod.js +47 -47
  212. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +46 -46
  213. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +46 -46
  214. package/TMap/dist/effect-TMap.cjs.dev.js +48 -48
  215. package/TMap/dist/effect-TMap.cjs.prod.js +48 -48
  216. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +45 -45
  217. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +45 -45
  218. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +50 -50
  219. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +50 -50
  220. package/TQueue/dist/effect-TQueue.cjs.dev.js +47 -47
  221. package/TQueue/dist/effect-TQueue.cjs.prod.js +47 -47
  222. package/TRandom/dist/effect-TRandom.cjs.dev.js +46 -46
  223. package/TRandom/dist/effect-TRandom.cjs.prod.js +46 -46
  224. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +50 -50
  225. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +50 -50
  226. package/TRef/dist/effect-TRef.cjs.dev.js +47 -47
  227. package/TRef/dist/effect-TRef.cjs.mjs +0 -1
  228. package/TRef/dist/effect-TRef.cjs.prod.js +47 -47
  229. package/TRef/dist/effect-TRef.esm.js +3 -2
  230. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +46 -46
  231. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +46 -46
  232. package/TSet/dist/effect-TSet.cjs.dev.js +48 -48
  233. package/TSet/dist/effect-TSet.cjs.prod.js +48 -48
  234. package/Take/dist/effect-Take.cjs.dev.js +36 -38
  235. package/Take/dist/effect-Take.cjs.prod.js +36 -38
  236. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +5 -5
  237. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +5 -5
  238. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +20 -20
  239. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +20 -20
  240. package/TestClock/dist/effect-TestClock.cjs.dev.js +32 -32
  241. package/TestClock/dist/effect-TestClock.cjs.prod.js +32 -32
  242. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -3
  243. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -3
  244. package/TestContext/dist/effect-TestContext.cjs.dev.js +34 -36
  245. package/TestContext/dist/effect-TestContext.cjs.prod.js +34 -36
  246. package/TestLive/dist/effect-TestLive.cjs.dev.js +14 -14
  247. package/TestLive/dist/effect-TestLive.cjs.prod.js +14 -14
  248. package/TestServices/dist/effect-TestServices.cjs.dev.js +40 -42
  249. package/TestServices/dist/effect-TestServices.cjs.prod.js +40 -42
  250. package/TestSized/dist/effect-TestSized.cjs.dev.js +8 -8
  251. package/TestSized/dist/effect-TestSized.cjs.prod.js +8 -8
  252. package/Tracer/dist/effect-Tracer.cjs.dev.js +20 -18
  253. package/Tracer/dist/effect-Tracer.cjs.mjs +1 -0
  254. package/Tracer/dist/effect-Tracer.cjs.prod.js +20 -18
  255. package/Tracer/dist/effect-Tracer.esm.js +7 -6
  256. package/dist/{Context-da73ddfa.cjs.dev.js → Context-607e9b4c.cjs.dev.js} +2 -2
  257. package/dist/{Context-9fe5eb16.cjs.prod.js → Context-c91d8ca0.cjs.prod.js} +2 -2
  258. package/dist/{Either-d43f082c.cjs.prod.js → Either-a3f96c60.cjs.prod.js} +2 -2
  259. package/dist/{Either-fa0ef1d9.cjs.dev.js → Either-e7500e90.cjs.dev.js} +2 -2
  260. package/dist/{Option-463b42e6.cjs.dev.js → Option-01caa9d4.cjs.dev.js} +1 -1
  261. package/dist/{Option-935e5d7c.cjs.prod.js → Option-dd52e82a.cjs.prod.js} +1 -1
  262. package/dist/{Ref-4014b526.cjs.prod.js → Ref-23b67ad9.cjs.prod.js} +1 -1
  263. package/dist/{Ref-acdee7ef.cjs.dev.js → Ref-c75b5362.cjs.dev.js} +1 -1
  264. package/dist/{cache-5c7d77e4.cjs.prod.js → cache-7b144c1f.cjs.prod.js} +5 -5
  265. package/dist/{cache-7eed9d33.cjs.dev.js → cache-e3d6cc01.cjs.dev.js} +5 -5
  266. package/dist/{circular-9e10a5a7.cjs.prod.js → circular-105d525c.cjs.prod.js} +8 -9
  267. package/dist/{circular-1f481ffb.cjs.prod.js → circular-3761aff7.cjs.prod.js} +7 -7
  268. package/dist/{circular-c2dbce1a.cjs.dev.js → circular-8baf0205.cjs.dev.js} +7 -7
  269. package/dist/{circular-c8b65bdb.cjs.dev.js → circular-cbfc1699.cjs.dev.js} +8 -9
  270. package/dist/{config-5ba54da1.cjs.prod.js → config-6a5f97fe.cjs.prod.js} +3 -3
  271. package/dist/{config-3b7935a3.cjs.dev.js → config-887520b4.cjs.dev.js} +3 -3
  272. package/dist/{configProvider-b6b20998.cjs.prod.js → configProvider-098f7113.cjs.prod.js} +4 -4
  273. package/dist/{configProvider-f34a82f1.cjs.dev.js → configProvider-8567470d.cjs.dev.js} +4 -4
  274. package/dist/{core-b7401357.cjs.dev.js → core-6815193e.cjs.dev.js} +5 -4
  275. package/dist/{core-84e608f0.cjs.prod.js → core-8072a539.cjs.prod.js} +3 -3
  276. package/dist/{core-07202cc0.cjs.prod.js → core-84667e8d.cjs.prod.js} +5 -4
  277. package/dist/{core-c01fd1d8.cjs.dev.js → core-e6f9fdbe.cjs.dev.js} +3 -3
  278. package/dist/{core-effect-9201ea63.cjs.prod.js → core-effect-520abd3d.cjs.prod.js} +8 -8
  279. package/dist/{core-effect-1c564d42.cjs.dev.js → core-effect-5700daea.cjs.dev.js} +8 -8
  280. package/dist/{dataSource-b5eda714.cjs.dev.js → dataSource-0ca8ef42.cjs.dev.js} +2 -2
  281. package/dist/{dataSource-b83bc277.cjs.prod.js → dataSource-17adc342.cjs.prod.js} +2 -2
  282. package/dist/declarations/src/{Bigint.d.ts → BigInt.d.ts} +27 -27
  283. package/dist/declarations/src/{Bigint.d.ts.map → BigInt.d.ts.map} +1 -1
  284. package/dist/declarations/src/Channel.d.ts +11 -2
  285. package/dist/declarations/src/Channel.d.ts.map +1 -1
  286. package/dist/declarations/src/Chunk.d.ts +11 -1
  287. package/dist/declarations/src/Chunk.d.ts.map +1 -1
  288. package/dist/declarations/src/Data.d.ts +6 -7
  289. package/dist/declarations/src/Data.d.ts.map +1 -1
  290. package/dist/declarations/src/Effect.d.ts +67 -102
  291. package/dist/declarations/src/Effect.d.ts.map +1 -1
  292. package/dist/declarations/src/Either.d.ts +16 -0
  293. package/dist/declarations/src/Either.d.ts.map +1 -1
  294. package/dist/declarations/src/FiberRef.d.ts +2 -2
  295. package/dist/declarations/src/FiberRef.d.ts.map +1 -1
  296. package/dist/declarations/src/HashMap.d.ts +30 -0
  297. package/dist/declarations/src/HashMap.d.ts.map +1 -1
  298. package/dist/declarations/src/Layer.d.ts +98 -3
  299. package/dist/declarations/src/Layer.d.ts.map +1 -1
  300. package/dist/declarations/src/List.d.ts +8 -0
  301. package/dist/declarations/src/List.d.ts.map +1 -1
  302. package/dist/declarations/src/Logger.d.ts +2 -7
  303. package/dist/declarations/src/Logger.d.ts.map +1 -1
  304. package/dist/declarations/src/Match.d.ts +420 -0
  305. package/dist/declarations/src/Match.d.ts.map +1 -0
  306. package/dist/declarations/src/Metric.d.ts +88 -6
  307. package/dist/declarations/src/Metric.d.ts.map +1 -1
  308. package/dist/declarations/src/Predicate.d.ts +4 -4
  309. package/dist/declarations/src/Stream.d.ts +4 -2
  310. package/dist/declarations/src/Stream.d.ts.map +1 -1
  311. package/dist/declarations/src/TRef.d.ts.map +1 -1
  312. package/dist/declarations/src/Tracer.d.ts +17 -10
  313. package/dist/declarations/src/Tracer.d.ts.map +1 -1
  314. package/dist/declarations/src/index.d.ts +5 -1
  315. package/dist/declarations/src/index.d.ts.map +1 -1
  316. package/dist/{defaultServices-755d5b46.cjs.dev.js → defaultServices-193b11dc.cjs.dev.js} +15 -4
  317. package/dist/{defaultServices-9d7ce86f.cjs.prod.js → defaultServices-4c3bf140.cjs.prod.js} +15 -4
  318. package/dist/effect.cjs.dev.js +6 -3
  319. package/dist/effect.cjs.mjs +2 -1
  320. package/dist/effect.cjs.prod.js +6 -3
  321. package/dist/effect.esm.js +4 -2
  322. package/dist/{fiber-9519d109.cjs.prod.js → fiber-a1a5e429.cjs.prod.js} +3 -3
  323. package/dist/{fiber-5156eff2.cjs.dev.js → fiber-cbdeec72.cjs.dev.js} +3 -3
  324. package/dist/{fiberRefs-98b71233.cjs.dev.js → fiberRefs-8d2401f9.cjs.dev.js} +1 -1
  325. package/dist/{fiberRefs-558c17e6.cjs.prod.js → fiberRefs-f631451c.cjs.prod.js} +1 -1
  326. package/dist/{fiberRuntime-31ae011f.cjs.prod.js → fiberRuntime-4691f31b.cjs.prod.js} +27 -23
  327. package/dist/{fiberRuntime-d3872282.cjs.dev.js → fiberRuntime-7cb6cd44.cjs.dev.js} +27 -23
  328. package/dist/{groupBy-70c6dc0d.cjs.dev.js → groupBy-239a6e6e.cjs.dev.js} +10 -7
  329. package/dist/{groupBy-5fb5d639.cjs.prod.js → groupBy-5174c302.cjs.prod.js} +10 -7
  330. package/dist/{hook-8cefc909.cjs.dev.js → hook-8e8bee6a.cjs.dev.js} +1 -1
  331. package/dist/{hook-98ce30e4.cjs.prod.js → hook-c2815d51.cjs.prod.js} +1 -1
  332. package/dist/{key-198b6670.cjs.dev.js → key-2d4efb00.cjs.dev.js} +2 -2
  333. package/dist/{key-eb8a12b2.cjs.prod.js → key-9b2f3322.cjs.prod.js} +2 -2
  334. package/dist/{layer-29574350.cjs.dev.js → layer-961b15ae.cjs.dev.js} +15 -10
  335. package/dist/{layer-51ff4846.cjs.prod.js → layer-d1c204db.cjs.prod.js} +15 -10
  336. package/dist/{patch-7c559bb2.cjs.prod.js → patch-1771b466.cjs.prod.js} +1 -1
  337. package/dist/{patch-0220a642.cjs.dev.js → patch-32cc7202.cjs.dev.js} +1 -1
  338. package/dist/{pathPatch-b56a4da2.cjs.prod.js → pathPatch-312bd492.cjs.prod.js} +1 -1
  339. package/dist/{pathPatch-fab016f1.cjs.dev.js → pathPatch-45b09159.cjs.dev.js} +1 -1
  340. package/dist/{pool-59df8b4d.cjs.dev.js → pool-3890e6ce.cjs.dev.js} +5 -5
  341. package/dist/{pool-042cc42b.cjs.prod.js → pool-f178fcc7.cjs.prod.js} +5 -5
  342. package/dist/{query-c36decd5.cjs.dev.js → query-39c40fa6.cjs.dev.js} +3 -3
  343. package/dist/{query-a52b25f0.cjs.prod.js → query-a6b58e39.cjs.prod.js} +3 -3
  344. package/dist/{queue-e4c59627.cjs.dev.js → queue-4c4bdc04.cjs.dev.js} +2 -2
  345. package/dist/{queue-425b92f6.cjs.prod.js → queue-5342a8d5.cjs.prod.js} +2 -2
  346. package/dist/{registry-d5258dff.cjs.prod.js → registry-6fbdb4e3.cjs.prod.js} +2 -2
  347. package/dist/{registry-62ff192e.cjs.dev.js → registry-ec8b84a2.cjs.dev.js} +2 -2
  348. package/dist/{runtime-005f8a9b.cjs.prod.js → runtime-3295bc3c.cjs.prod.js} +6 -6
  349. package/dist/{runtime-57c8ddf8.cjs.dev.js → runtime-43b9e2bb.cjs.dev.js} +6 -6
  350. package/dist/{schedule-8cdf6bf1.cjs.prod.js → schedule-6431754b.cjs.prod.js} +3 -3
  351. package/dist/{schedule-e7a9f93f.cjs.dev.js → schedule-a4be407d.cjs.dev.js} +3 -3
  352. package/dist/{scopedRef-789d7fef.cjs.prod.js → scopedRef-7c2bf3f3.cjs.prod.js} +6 -6
  353. package/dist/{scopedRef-eb19c7a6.cjs.dev.js → scopedRef-9032002a.cjs.dev.js} +6 -6
  354. package/dist/{singleProducerAsyncInput-9ff8389b.cjs.dev.js → singleProducerAsyncInput-82e5c80c.cjs.dev.js} +1 -1
  355. package/dist/{singleProducerAsyncInput-f9b258b1.cjs.prod.js → singleProducerAsyncInput-879852ad.cjs.prod.js} +1 -1
  356. package/dist/{sink-b2fcb569.cjs.prod.js → sink-95371737.cjs.prod.js} +17 -19
  357. package/dist/{sink-17e02d40.cjs.dev.js → sink-e4280f95.cjs.dev.js} +17 -19
  358. package/dist/{stm-5264610b.cjs.dev.js → stm-4bf1a928.cjs.dev.js} +3 -3
  359. package/dist/{stm-9dd6be88.cjs.prod.js → stm-f792171c.cjs.prod.js} +3 -3
  360. package/dist/{stream-c9c522f2.cjs.prod.js → stream-254329d0.cjs.prod.js} +17 -13
  361. package/dist/{stream-5e2ed3a9.cjs.dev.js → stream-c498ce8a.cjs.dev.js} +17 -13
  362. package/dist/{synchronizedRef-ed8aa6ac.cjs.prod.js → synchronizedRef-5420532c.cjs.prod.js} +1 -1
  363. package/dist/{synchronizedRef-a12fd967.cjs.dev.js → synchronizedRef-cfe99d53.cjs.dev.js} +1 -1
  364. package/dist/{tArray-cac66af4.cjs.prod.js → tArray-7f227674.cjs.prod.js} +3 -3
  365. package/dist/{tArray-77a2ae3c.cjs.dev.js → tArray-996f4aba.cjs.dev.js} +3 -3
  366. package/dist/{tMap-5ac8ec9c.cjs.prod.js → tMap-811797bf.cjs.prod.js} +4 -4
  367. package/dist/{tMap-73bbf062.cjs.dev.js → tMap-b9665a82.cjs.dev.js} +4 -4
  368. package/dist/{tQueue-2b1cd0c4.cjs.dev.js → tQueue-0c15312e.cjs.dev.js} +3 -3
  369. package/dist/{tQueue-dded9b2d.cjs.prod.js → tQueue-8a6a0244.cjs.prod.js} +3 -3
  370. package/dist/{tRef-73c3549e.cjs.prod.js → tRef-2892ee02.cjs.prod.js} +1 -1
  371. package/dist/{tRef-90f0872b.cjs.dev.js → tRef-44d17d07.cjs.dev.js} +1 -1
  372. package/internal/cause.esm.js +2 -1
  373. package/internal/channel.esm.js +28 -30
  374. package/internal/core-effect.esm.js +1 -1
  375. package/internal/core-stream.esm.js +1 -1
  376. package/internal/fiberRuntime.esm.js +27 -23
  377. package/internal/groupBy.esm.js +8 -5
  378. package/internal/layer/circular.esm.js +5 -6
  379. package/internal/layer.esm.js +9 -5
  380. package/internal/logger.esm.js +3 -3
  381. package/internal/matcher.esm.js +314 -0
  382. package/internal/sink.esm.js +11 -11
  383. package/internal/stream.esm.js +15 -12
  384. package/internal/tracer.esm.js +14 -4
  385. package/package.json +25 -16
  386. package/src/{Bigint.ts → BigInt.ts} +26 -26
  387. package/src/Channel.ts +14 -2
  388. package/src/Chunk.ts +12 -1
  389. package/src/Data.ts +33 -21
  390. package/src/Duration.ts +2 -2
  391. package/src/Effect.ts +84 -151
  392. package/src/Either.ts +33 -0
  393. package/src/FiberRef.ts +2 -3
  394. package/src/HashMap.ts +30 -0
  395. package/src/Layer.ts +157 -3
  396. package/src/List.ts +9 -0
  397. package/src/Logger.ts +2 -8
  398. package/src/Match.ts +800 -0
  399. package/src/Metric.ts +88 -6
  400. package/src/Predicate.ts +4 -4
  401. package/src/Stream.ts +4 -2
  402. package/src/TRef.ts +1 -1
  403. package/src/Tracer.ts +18 -9
  404. package/src/index.ts +6 -1
  405. package/src/internal/cause.ts +1 -1
  406. package/src/internal/channel.ts +89 -94
  407. package/src/internal/core-effect.ts +27 -22
  408. package/src/internal/core.ts +5 -7
  409. package/src/internal/fiberRuntime.ts +39 -13
  410. package/src/internal/groupBy.ts +7 -3
  411. package/src/internal/layer/circular.ts +21 -6
  412. package/src/internal/layer.ts +20 -4
  413. package/src/internal/logger.ts +4 -4
  414. package/src/internal/matcher.ts +594 -0
  415. package/src/internal/stream.ts +17 -12
  416. package/src/internal/tracer.ts +28 -5
  417. package/src/tsconfig.json +49 -0
  418. package/Bigint/dist/effect-Bigint.cjs.d.mts +0 -2
  419. package/Bigint/dist/effect-Bigint.cjs.d.mts.map +0 -1
  420. package/Bigint/dist/effect-Bigint.cjs.d.ts +0 -2
  421. package/Bigint/dist/effect-Bigint.cjs.d.ts.map +0 -1
  422. package/Bigint/dist/effect-Bigint.cjs.js +0 -7
  423. package/Bigint/package.json +0 -4
  424. /package/dist/{Effectable-c4c14a2b.cjs.prod.js → Effectable-6a8a05f1.cjs.prod.js} +0 -0
  425. /package/dist/{Effectable-7314aed8.cjs.dev.js → Effectable-71c10ab9.cjs.dev.js} +0 -0
  426. /package/dist/{FiberId-1d7ac632.cjs.prod.js → FiberId-54d8bd67.cjs.prod.js} +0 -0
  427. /package/dist/{FiberId-d88ddce6.cjs.dev.js → FiberId-6708cdca.cjs.dev.js} +0 -0
  428. /package/dist/{HashSet-ac02a3e1.cjs.prod.js → HashSet-86613304.cjs.prod.js} +0 -0
  429. /package/dist/{HashSet-5963ad6b.cjs.dev.js → HashSet-dd020cb0.cjs.dev.js} +0 -0
  430. /package/dist/{RuntimeFlagsPatch-866fa259.cjs.prod.js → RuntimeFlagsPatch-35ed8dee.cjs.prod.js} +0 -0
  431. /package/dist/{RuntimeFlagsPatch-69102b03.cjs.dev.js → RuntimeFlagsPatch-9cbc441d.cjs.dev.js} +0 -0
  432. /package/dist/{boundaries-9af538e3.cjs.prod.js → boundaries-26f0dc82.cjs.prod.js} +0 -0
  433. /package/dist/{boundaries-f212e414.cjs.dev.js → boundaries-6eea221f.cjs.dev.js} +0 -0
  434. /package/dist/{configError-b43723af.cjs.prod.js → configError-856c7153.cjs.prod.js} +0 -0
  435. /package/dist/{configError-d5efe9c0.cjs.dev.js → configError-a824b415.cjs.dev.js} +0 -0
  436. /package/dist/{configSecret-3e8ae336.cjs.dev.js → configSecret-23cf1a3f.cjs.dev.js} +0 -0
  437. /package/dist/{configSecret-e2faa181.cjs.prod.js → configSecret-663cfb59.cjs.prod.js} +0 -0
  438. /package/dist/{keyType-0c5e6178.cjs.prod.js → keyType-4ec0b247.cjs.prod.js} +0 -0
  439. /package/dist/{keyType-7c164b82.cjs.dev.js → keyType-f30c9fa4.cjs.dev.js} +0 -0
  440. /package/dist/{label-655343b5.cjs.prod.js → label-a588e6cd.cjs.prod.js} +0 -0
  441. /package/dist/{label-011edbe7.cjs.dev.js → label-b0cebeae.cjs.dev.js} +0 -0
  442. /package/dist/{state-0bdf02b7.cjs.prod.js → state-40d5dc71.cjs.prod.js} +0 -0
  443. /package/dist/{state-931050c4.cjs.dev.js → state-620f7a22.cjs.dev.js} +0 -0
  444. /package/dist/{take-85daaf79.cjs.prod.js → take-981a87eb.cjs.prod.js} +0 -0
  445. /package/dist/{take-f9ef9e2e.cjs.dev.js → take-bfd0a3ed.cjs.dev.js} +0 -0
package/src/Metric.ts CHANGED
@@ -156,7 +156,26 @@ export const mapInput: {
156
156
  } = internal.mapInput
157
157
 
158
158
  /**
159
- * A counter, which can be incremented by numbers.
159
+ * Represents a Counter metric that tracks cumulative numerical values over time.
160
+ * Counters can be incremented and decremented and provide a running total of changes.
161
+ *
162
+ * @param name - The name of the counter metric.
163
+ * @param options - An optional configuration for the counter:
164
+ * - description - A description of the counter.
165
+ * - bigint - Indicates if the counter uses 'bigint' data type.
166
+ * - incremental - Set to 'true' for a counter that only increases. With this configuration, Effect ensures that non-incremental updates have no impact on the counter, making it exclusively suitable for counting upwards.
167
+ *
168
+ * @example
169
+ * import * as Metric from "effect/Metric"
170
+ *
171
+ * const numberCounter = Metric.counter("count", {
172
+ * description: "A number counter"
173
+ * });
174
+ *
175
+ * const bigintCounter = Metric.counter("count", {
176
+ * description: "A bigint counter",
177
+ * bigint: true
178
+ * });
160
179
  *
161
180
  * @since 2.0.0
162
181
  * @category constructors
@@ -181,8 +200,16 @@ export const counter: {
181
200
  } = internal.counter
182
201
 
183
202
  /**
184
- * A string histogram metric, which keeps track of the counts of different
185
- * strings.
203
+ * Creates a Frequency metric to count occurrences of events.
204
+ * Frequency metrics are used to count the number of times specific events or incidents occur.
205
+ *
206
+ * @param name - The name of the Frequency metric.
207
+ * @param description - An optional description of the Frequency metric.
208
+ *
209
+ * @example
210
+ * import * as Metric from "effect/Metric"
211
+ *
212
+ * const errorFrequency = Metric.frequency("error_frequency", "Counts the occurrences of errors.");
186
213
  *
187
214
  * @since 2.0.0
188
215
  * @category constructors
@@ -212,7 +239,25 @@ export const fromMetricKey: <Type extends MetricKeyType.MetricKeyType<any, any>>
212
239
  internal.fromMetricKey
213
240
 
214
241
  /**
215
- * A gauge, which can be set to a value.
242
+ * Represents a Gauge metric that tracks and reports a single numerical value at a specific moment.
243
+ * Gauges are suitable for metrics that represent instantaneous values, such as memory usage or CPU load.
244
+ *
245
+ * @param name - The name of the gauge metric.
246
+ * @param options - An optional configuration for the gauge:
247
+ * - description - A description of the gauge metric.
248
+ * - bigint - Indicates if the counter uses 'bigint' data type.
249
+ *
250
+ * @example
251
+ * import * as Metric from "effect/Metric"
252
+ *
253
+ * const numberGauge = Metric.gauge("memory_usage", {
254
+ * description: "A gauge for memory usage"
255
+ * });
256
+ *
257
+ * const bigintGauge = Metric.gauge("cpu_load", {
258
+ * description: "A gauge for CPU load",
259
+ * bigint: true
260
+ * });
216
261
  *
217
262
  * @since 2.0.0
218
263
  * @category constructors
@@ -223,8 +268,21 @@ export const gauge: {
223
268
  } = internal.gauge
224
269
 
225
270
  /**
226
- * A numeric histogram metric, which keeps track of the count of numbers that
227
- * fall in bins with the specified boundaries.
271
+ * Represents a Histogram metric that records observations in specified value boundaries.
272
+ * Histogram metrics are useful for measuring the distribution of values within a range.
273
+ *
274
+ * @param name - The name of the histogram metric.
275
+ * @param boundaries - The boundaries for defining the histogram's value ranges.
276
+ * @param description - A description of the histogram metric.
277
+ *
278
+ * @example
279
+ * import * as Metric from "effect/Metric"
280
+ * import * as MetricBoundaries from "effect/MetricBoundaries"
281
+ *
282
+ * const latencyHistogram = Metric.histogram("latency_histogram",
283
+ * MetricBoundaries.linear({ start: 0, width: 10, count: 11 }),
284
+ * "Measures the distribution of request latency."
285
+ * );
228
286
  *
229
287
  * @since 2.0.0
230
288
  * @category constructors
@@ -311,6 +369,30 @@ export const succeed: <Out>(out: Out) => Metric<void, unknown, Out> = internal.s
311
369
  export const sync: <Out>(evaluate: LazyArg<Out>) => Metric<void, unknown, Out> = internal.sync
312
370
 
313
371
  /**
372
+ * Creates a Summary metric that records observations and calculates quantiles.
373
+ * Summary metrics provide statistical information about a set of values, including quantiles.
374
+ *
375
+ * @param options - An object with configuration options for the Summary metric:
376
+ * - name - The name of the Summary metric.
377
+ * - maxAge - The maximum age of observations to retain.
378
+ * - maxSize - The maximum number of observations to keep.
379
+ * - error - The error percentage when calculating quantiles.
380
+ * - quantiles - An `Chunk` of quantiles to calculate (e.g., [0.5, 0.9]).
381
+ * - description - An optional description of the Summary metric.
382
+ *
383
+ * @example
384
+ * import * as Metric from "effect/Metric"
385
+ * import * as Chunk from "effect/Chunk"
386
+ *
387
+ * const responseTimesSummary = Metric.summary({
388
+ * name: "response_times_summary",
389
+ * maxAge: "60 seconds", // Retain observations for 60 seconds.
390
+ * maxSize: 1000, // Keep a maximum of 1000 observations.
391
+ * error: 0.01, // Allow a 1% error when calculating quantiles.
392
+ * quantiles: Chunk.make(0.5, 0.9, 0.99), // Calculate 50th, 90th, and 99th percentiles.
393
+ * description: "Measures the distribution of response times."
394
+ * });
395
+ *
314
396
  * @since 2.0.0
315
397
  * @category constructors
316
398
  */
package/src/Predicate.ts CHANGED
@@ -110,16 +110,16 @@ export const isBoolean = (input: unknown): input is boolean => typeof input ===
110
110
  * @param input - The value to test.
111
111
  *
112
112
  * @example
113
- * import { isBigint } from "effect/Predicate"
113
+ * import { isBigInt } from "effect/Predicate"
114
114
  *
115
- * assert.deepStrictEqual(isBigint(1n), true)
115
+ * assert.deepStrictEqual(isBigInt(1n), true)
116
116
  *
117
- * assert.deepStrictEqual(isBigint(1), false)
117
+ * assert.deepStrictEqual(isBigInt(1), false)
118
118
  *
119
119
  * @category guards
120
120
  * @since 2.0.0
121
121
  */
122
- export const isBigint = (input: unknown): input is bigint => typeof input === "bigint"
122
+ export const isBigInt = (input: unknown): input is bigint => typeof input === "bigint"
123
123
 
124
124
  /**
125
125
  * Tests if a value is a `symbol`.
package/src/Stream.ts CHANGED
@@ -4000,10 +4000,11 @@ export const withSpan: {
4000
4000
  (
4001
4001
  name: string,
4002
4002
  options?: {
4003
- readonly attributes?: Record<string, Tracer.AttributeValue>
4003
+ readonly attributes?: Record<string, unknown>
4004
4004
  readonly links?: ReadonlyArray<Tracer.SpanLink>
4005
4005
  readonly parent?: Tracer.ParentSpan
4006
4006
  readonly root?: boolean
4007
+ readonly sampled?: boolean
4007
4008
  readonly context?: Context.Context<never>
4008
4009
  }
4009
4010
  ): <R, E, A>(self: Stream<R, E, A>) => Stream<R, E, A>
@@ -4011,10 +4012,11 @@ export const withSpan: {
4011
4012
  self: Stream<R, E, A>,
4012
4013
  name: string,
4013
4014
  options?: {
4014
- readonly attributes?: Record<string, Tracer.AttributeValue>
4015
+ readonly attributes?: Record<string, unknown>
4015
4016
  readonly links?: ReadonlyArray<Tracer.SpanLink>
4016
4017
  readonly parent?: Tracer.ParentSpan
4017
4018
  readonly root?: boolean
4019
+ readonly sampled?: boolean
4018
4020
  readonly context?: Context.Context<never>
4019
4021
  }
4020
4022
  ): Stream<R, E, A>
package/src/TRef.ts CHANGED
@@ -53,7 +53,7 @@ export interface TRef<A> {
53
53
  /**
54
54
  * @since 2.0.0
55
55
  */
56
- export namespace TRef {
56
+ export declare namespace TRef {
57
57
  /**
58
58
  * @since 2.0.0
59
59
  */
package/src/Tracer.ts CHANGED
@@ -29,6 +29,7 @@ export interface Tracer {
29
29
  parent: Option.Option<ParentSpan>,
30
30
  context: Context.Context<never>,
31
31
  links: ReadonlyArray<SpanLink>,
32
+ sampled: boolean,
32
33
  startTime: bigint
33
34
  ) => Span
34
35
  readonly context: <X>(f: () => X, fiber: Fiber.RuntimeFiber<any, any>) => X
@@ -62,6 +63,7 @@ export interface ExternalSpan {
62
63
  readonly _tag: "ExternalSpan"
63
64
  readonly spanId: string
64
65
  readonly traceId: string
66
+ readonly sampled: boolean
65
67
  readonly context: Context.Context<never>
66
68
  }
67
69
 
@@ -77,17 +79,13 @@ export interface Span {
77
79
  readonly parent: Option.Option<ParentSpan>
78
80
  readonly context: Context.Context<never>
79
81
  readonly status: SpanStatus
80
- readonly attributes: ReadonlyMap<string, AttributeValue>
82
+ readonly attributes: ReadonlyMap<string, unknown>
81
83
  readonly links: ReadonlyArray<SpanLink>
84
+ readonly sampled: boolean
82
85
  readonly end: (endTime: bigint, exit: Exit.Exit<unknown, unknown>) => void
83
- readonly attribute: (key: string, value: AttributeValue) => void
84
- readonly event: (name: string, startTime: bigint, attributes?: Record<string, AttributeValue>) => void
86
+ readonly attribute: (key: string, value: unknown) => void
87
+ readonly event: (name: string, startTime: bigint, attributes?: Record<string, unknown>) => void
85
88
  }
86
- /**
87
- * @since 2.0.0
88
- * @category models
89
- */
90
- export type AttributeValue = string | boolean | number
91
89
 
92
90
  /**
93
91
  * @since 2.0.0
@@ -96,7 +94,7 @@ export type AttributeValue = string | boolean | number
96
94
  export interface SpanLink {
97
95
  readonly _tag: "SpanLink"
98
96
  readonly span: ParentSpan
99
- readonly attributes: Readonly<Record<string, AttributeValue>>
97
+ readonly attributes: Readonly<Record<string, unknown>>
100
98
  }
101
99
 
102
100
  /**
@@ -111,6 +109,17 @@ export const Tracer: Context.Tag<Tracer, Tracer> = internal.tracerTag
111
109
  */
112
110
  export const make: (options: Omit<Tracer, typeof TracerTypeId>) => Tracer = internal.make
113
111
 
112
+ /**
113
+ * @since 2.0.0
114
+ * @category constructors
115
+ */
116
+ export const externalSpan: (options: {
117
+ readonly spanId: string
118
+ readonly traceId: string
119
+ readonly sampled?: boolean | undefined
120
+ readonly context?: Context.Context<never> | undefined
121
+ }) => ExternalSpan = internal.externalSpan
122
+
114
123
  /**
115
124
  * @since 2.0.0
116
125
  * @category constructors
package/src/index.ts CHANGED
@@ -36,7 +36,7 @@ export {
36
36
  *
37
37
  * @since 2.0.0
38
38
  */
39
- export * as Bigint from "effect/Bigint"
39
+ export * as BigInt from "effect/BigInt"
40
40
 
41
41
  /**
42
42
  * This module provides utility functions and type class instances for working with the `boolean` type in TypeScript.
@@ -388,6 +388,11 @@ export * as LogSpan from "effect/LogSpan"
388
388
  */
389
389
  export * as Logger from "effect/Logger"
390
390
 
391
+ /**
392
+ * @since 1.0.0
393
+ */
394
+ export * as Match from "effect/Match"
395
+
391
396
  /**
392
397
  * @since 2.0.0
393
398
  */
@@ -59,7 +59,7 @@ const proto = {
59
59
  return { _id: "Cause", _tag: this._tag, failure: toJSON(this.error) }
60
60
  case "Sequential":
61
61
  case "Parallel":
62
- return { _id: "Cause", _tag: this._tag, errors: toJSON(prettyErrors(this)) }
62
+ return { _id: "Cause", _tag: this._tag, left: toJSON(this.left), right: toJSON(this.right) }
63
63
  }
64
64
  },
65
65
  toString<E>(this: Cause.Cause<E>) {
@@ -1176,6 +1176,7 @@ export const mergeAllWith = (
1176
1176
  > =>
1177
1177
  pipe(
1178
1178
  Effect.gen(function*($) {
1179
+ const concurrencyN = concurrency === "unbounded" ? Number.MAX_SAFE_INTEGER : concurrency
1179
1180
  const input = yield* $(singleProducerAsyncInput.make<
1180
1181
  InErr & InErr1,
1181
1182
  InElem & InElem1,
@@ -1196,9 +1197,8 @@ export const mergeAllWith = (
1196
1197
  )
1197
1198
  const lastDone = yield* $(Ref.make<Option.Option<OutDone>>(Option.none()))
1198
1199
  const errorSignal = yield* $(Deferred.make<never, void>())
1199
- const withPermits = concurrency === "unbounded" ?
1200
- ((_: number) => identity) :
1201
- (yield* $(Effect.makeSemaphore(concurrency))).withPermits
1200
+ const withPermits = (yield* $(Effect.makeSemaphore(concurrencyN)))
1201
+ .withPermits
1202
1202
  const pull = yield* $(toPull(channels))
1203
1203
  const evaluatePull = (
1204
1204
  pull: Effect.Effect<Env | Env1, OutErr | OutErr1, Either.Either<OutDone, OutElem>>
@@ -1216,23 +1216,21 @@ export const mergeAllWith = (
1216
1216
  })
1217
1217
  ),
1218
1218
  Effect.repeatUntil(Option.isSome),
1219
- Effect.flatMap(Option.match({
1220
- onNone: () => Effect.unit,
1221
- onSome: (outDone) =>
1222
- Ref.update(
1223
- lastDone,
1224
- Option.match({
1225
- onNone: () => Option.some(outDone),
1226
- onSome: (lastDone) => Option.some(f(lastDone, outDone))
1227
- })
1228
- )
1229
- })),
1219
+ Effect.flatMap((outDone) =>
1220
+ Ref.update(
1221
+ lastDone,
1222
+ Option.match({
1223
+ onNone: () => Option.some(outDone.value),
1224
+ onSome: (lastDone) => Option.some(f(lastDone, outDone.value))
1225
+ })
1226
+ )
1227
+ ),
1230
1228
  Effect.catchAllCause((cause) =>
1231
1229
  Cause.isInterrupted(cause) ?
1232
1230
  Effect.failCause(cause) :
1233
1231
  pipe(
1234
1232
  Queue.offer(queue, Effect.failCause(cause)),
1235
- Effect.zipRight(Deferred.succeed<never, void>(errorSignal, void 0)),
1233
+ Effect.zipRight(Deferred.succeed(errorSignal, void 0)),
1236
1234
  Effect.asUnit
1237
1235
  )
1238
1236
  )
@@ -1246,88 +1244,83 @@ export const mergeAllWith = (
1246
1244
  ),
1247
1245
  onSuccess: Either.match({
1248
1246
  onLeft: (outDone) =>
1249
- Effect.raceWith(Deferred.await(errorSignal), withPermits(concurrency as number)(Effect.unit), {
1250
- onSelfDone: (_, permitAcquisition) => pipe(Fiber.interrupt(permitAcquisition), Effect.as(false)),
1247
+ Effect.raceWith(Deferred.await(errorSignal), withPermits(concurrencyN)(Effect.unit), {
1248
+ onSelfDone: (_, permitAcquisition) => Effect.as(Fiber.interrupt(permitAcquisition), false),
1251
1249
  onOtherDone: (_, failureAwait) =>
1252
- pipe(
1250
+ Effect.zipRight(
1253
1251
  Fiber.interrupt(failureAwait),
1254
- Effect.zipRight(
1255
- pipe(
1256
- Ref.get(lastDone),
1257
- Effect.flatMap(Option.match({
1258
- onNone: () => Queue.offer(queue, Effect.succeed(Either.left(outDone))),
1259
- onSome: (lastDone) => Queue.offer(queue, Effect.succeed(Either.left(f(lastDone, outDone))))
1260
- })),
1261
- Effect.as(false)
1262
- )
1252
+ pipe(
1253
+ Ref.get(lastDone),
1254
+ Effect.flatMap(Option.match({
1255
+ onNone: () => Queue.offer(queue, Effect.succeed(Either.left(outDone))),
1256
+ onSome: (lastDone) => Queue.offer(queue, Effect.succeed(Either.left(f(lastDone, outDone))))
1257
+ })),
1258
+ Effect.as(false)
1263
1259
  )
1264
1260
  )
1265
1261
  }),
1266
1262
  onRight: (channel) =>
1267
- pipe(
1268
- mergeStrategy,
1269
- _mergeStrategy.match({
1270
- onBackPressure: () =>
1271
- Effect.gen(function*($) {
1272
- const latch = yield* $(Deferred.make<never, void>())
1273
- const raceEffects: Effect.Effect<Env | Env1, OutErr | OutErr1, void> = pipe(
1274
- queueReader,
1275
- core.pipeTo(channel),
1276
- toPull,
1277
- Effect.flatMap((pull) =>
1278
- pipe(
1279
- evaluatePull(pull),
1280
- Effect.race(Deferred.await(errorSignal))
1281
- )
1282
- ),
1283
- Effect.scoped
1284
- )
1285
- yield* $(
1286
- Deferred.succeed<never, void>(latch, void 0),
1287
- Effect.zipRight(raceEffects),
1288
- withPermits(1),
1289
- Effect.forkScoped
1290
- )
1291
- yield* $(Deferred.await(latch))
1292
- const errored = yield* $(Deferred.isDone(errorSignal))
1293
- return !errored
1294
- }),
1295
- onBufferSliding: () =>
1296
- Effect.gen(function*($) {
1297
- const canceler = yield* $(Deferred.make<never, void>())
1298
- const latch = yield* $(Deferred.make<never, void>())
1299
- const size = yield* $(Queue.size(cancelers))
1300
- yield* $(
1301
- Queue.take(cancelers),
1302
- Effect.flatMap((_) => Deferred.succeed<never, void>(_, void 0)),
1303
- Effect.when(() => concurrency === "unbounded" ? false : size >= concurrency)
1304
- )
1305
- yield* $(Queue.offer(cancelers, canceler))
1306
- const raceEffects: Effect.Effect<Env | Env1, OutErr | OutErr1, void> = pipe(
1307
- queueReader,
1308
- core.pipeTo(channel),
1309
- toPull,
1310
- Effect.flatMap((pull) =>
1311
- pipe(
1312
- evaluatePull(pull),
1313
- Effect.race(Deferred.await(errorSignal)),
1314
- Effect.race(Deferred.await(canceler))
1315
- )
1316
- ),
1317
- Effect.scoped
1318
- )
1319
- yield* $(
1320
- Deferred.succeed<never, void>(latch, void 0),
1321
- Effect.zipRight(raceEffects),
1322
- withPermits(1),
1323
- Effect.forkScoped
1324
- )
1325
- yield* $(Deferred.await(latch))
1326
- const errored = yield* $(Deferred.isDone(errorSignal))
1327
- return !errored
1328
- })
1329
- })
1330
- )
1263
+ _mergeStrategy.match(mergeStrategy, {
1264
+ onBackPressure: () =>
1265
+ Effect.gen(function*($) {
1266
+ const latch = yield* $(Deferred.make<never, void>())
1267
+ const raceEffects: Effect.Effect<Env | Env1, OutErr | OutErr1, void> = pipe(
1268
+ queueReader,
1269
+ core.pipeTo(channel),
1270
+ toPull,
1271
+ Effect.flatMap((pull) =>
1272
+ Effect.race(
1273
+ evaluatePull(pull),
1274
+ Deferred.await(errorSignal)
1275
+ )
1276
+ ),
1277
+ Effect.scoped
1278
+ )
1279
+ yield* $(
1280
+ Deferred.succeed<never, void>(latch, void 0),
1281
+ Effect.zipRight(raceEffects),
1282
+ withPermits(1),
1283
+ Effect.forkScoped
1284
+ )
1285
+ yield* $(Deferred.await(latch))
1286
+ const errored = yield* $(Deferred.isDone(errorSignal))
1287
+ return !errored
1288
+ }),
1289
+ onBufferSliding: () =>
1290
+ Effect.gen(function*($) {
1291
+ const canceler = yield* $(Deferred.make<never, void>())
1292
+ const latch = yield* $(Deferred.make<never, void>())
1293
+ const size = yield* $(Queue.size(cancelers))
1294
+ yield* $(
1295
+ Queue.take(cancelers),
1296
+ Effect.flatMap((_) => Deferred.succeed<never, void>(_, void 0)),
1297
+ Effect.when(() => size >= concurrencyN)
1298
+ )
1299
+ yield* $(Queue.offer(cancelers, canceler))
1300
+ const raceEffects: Effect.Effect<Env | Env1, OutErr | OutErr1, void> = pipe(
1301
+ queueReader,
1302
+ core.pipeTo(channel),
1303
+ toPull,
1304
+ Effect.flatMap((pull) =>
1305
+ pipe(
1306
+ evaluatePull(pull),
1307
+ Effect.race(Deferred.await(errorSignal)),
1308
+ Effect.race(Deferred.await(canceler))
1309
+ )
1310
+ ),
1311
+ Effect.scoped
1312
+ )
1313
+ yield* $(
1314
+ Deferred.succeed<never, void>(latch, void 0),
1315
+ Effect.zipRight(raceEffects),
1316
+ withPermits(1),
1317
+ Effect.forkScoped
1318
+ )
1319
+ yield* $(Deferred.await(latch))
1320
+ const errored = yield* $(Deferred.isDone(errorSignal))
1321
+ return !errored
1322
+ })
1323
+ })
1331
1324
  })
1332
1325
  }),
1333
1326
  Effect.repeatWhile(identity),
@@ -2302,10 +2295,11 @@ export const withSpan = dual<
2302
2295
  (
2303
2296
  name: string,
2304
2297
  options?: {
2305
- readonly attributes?: Record<string, Tracer.AttributeValue>
2298
+ readonly attributes?: Record<string, unknown>
2306
2299
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2307
2300
  readonly parent?: Tracer.ParentSpan
2308
2301
  readonly root?: boolean
2302
+ readonly sampled?: boolean
2309
2303
  readonly context?: Context.Context<never>
2310
2304
  }
2311
2305
  ) => <Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(
@@ -2315,14 +2309,15 @@ export const withSpan = dual<
2315
2309
  self: Channel.Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
2316
2310
  name: string,
2317
2311
  options?: {
2318
- readonly attributes?: Record<string, Tracer.AttributeValue>
2312
+ readonly attributes?: Record<string, unknown>
2319
2313
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2320
2314
  readonly parent?: Tracer.ParentSpan
2321
2315
  readonly root?: boolean
2316
+ readonly sampled?: boolean
2322
2317
  readonly context?: Context.Context<never>
2323
2318
  }
2324
2319
  ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>
2325
- >(3, (self, name, options) => unwrapScoped(Effect.as(Effect.withSpanScoped(name, options), self)))
2320
+ >(3, (self, name, options) => unwrapScoped(Effect.as(Effect.setSpan(name, options), self)))
2326
2321
 
2327
2322
  /** @internal */
2328
2323
  export const writeAll = <OutElem>(