effect 3.8.4 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (757) hide show
  1. package/dist/cjs/Array.js +24 -3
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +5 -3
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js.map +1 -1
  6. package/dist/cjs/Boolean.js.map +1 -1
  7. package/dist/cjs/Cause.js.map +1 -1
  8. package/dist/cjs/Channel.js.map +1 -1
  9. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  10. package/dist/cjs/Chunk.js +3 -0
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/ConfigError.js.map +1 -1
  14. package/dist/cjs/ConfigProvider.js.map +1 -1
  15. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  16. package/dist/cjs/Console.js.map +1 -1
  17. package/dist/cjs/Context.js.map +1 -1
  18. package/dist/cjs/Cron.js +3 -0
  19. package/dist/cjs/Cron.js.map +1 -1
  20. package/dist/cjs/Data.js.map +1 -1
  21. package/dist/cjs/DateTime.js +6 -0
  22. package/dist/cjs/DateTime.js.map +1 -1
  23. package/dist/cjs/Deferred.js.map +1 -1
  24. package/dist/cjs/Differ.js.map +1 -1
  25. package/dist/cjs/Duration.js +3 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +122 -35
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js.map +1 -1
  30. package/dist/cjs/Equivalence.js.map +1 -1
  31. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  32. package/dist/cjs/Exit.js.map +1 -1
  33. package/dist/cjs/Fiber.js.map +1 -1
  34. package/dist/cjs/FiberHandle.js +3 -0
  35. package/dist/cjs/FiberHandle.js.map +1 -1
  36. package/dist/cjs/FiberId.js.map +1 -1
  37. package/dist/cjs/FiberMap.js +3 -0
  38. package/dist/cjs/FiberMap.js.map +1 -1
  39. package/dist/cjs/FiberRef.js.map +1 -1
  40. package/dist/cjs/FiberRefs.js.map +1 -1
  41. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  42. package/dist/cjs/FiberSet.js +3 -0
  43. package/dist/cjs/FiberSet.js.map +1 -1
  44. package/dist/cjs/Function.js.map +1 -1
  45. package/dist/cjs/GroupBy.js.map +1 -1
  46. package/dist/cjs/Hash.js.map +1 -1
  47. package/dist/cjs/HashMap.js.map +1 -1
  48. package/dist/cjs/HashSet.js.map +1 -1
  49. package/dist/cjs/Inspectable.js +15 -1
  50. package/dist/cjs/Inspectable.js.map +1 -1
  51. package/dist/cjs/Iterable.js.map +1 -1
  52. package/dist/cjs/KeyedPool.js.map +1 -1
  53. package/dist/cjs/Layer.js.map +1 -1
  54. package/dist/cjs/List.js +6 -0
  55. package/dist/cjs/List.js.map +1 -1
  56. package/dist/cjs/LogLevel.js.map +1 -1
  57. package/dist/cjs/Logger.js.map +1 -1
  58. package/dist/cjs/Mailbox.js.map +1 -1
  59. package/dist/cjs/ManagedRuntime.js +16 -1
  60. package/dist/cjs/ManagedRuntime.js.map +1 -1
  61. package/dist/cjs/MergeDecision.js.map +1 -1
  62. package/dist/cjs/MergeState.js.map +1 -1
  63. package/dist/cjs/MergeStrategy.js.map +1 -1
  64. package/dist/cjs/Metric.js.map +1 -1
  65. package/dist/cjs/MetricHook.js.map +1 -1
  66. package/dist/cjs/MetricKey.js.map +1 -1
  67. package/dist/cjs/MetricPolling.js.map +1 -1
  68. package/dist/cjs/MetricState.js.map +1 -1
  69. package/dist/cjs/Micro.js +6 -0
  70. package/dist/cjs/Micro.js.map +1 -1
  71. package/dist/cjs/MutableHashMap.js +3 -0
  72. package/dist/cjs/MutableHashMap.js.map +1 -1
  73. package/dist/cjs/MutableHashSet.js +3 -0
  74. package/dist/cjs/MutableHashSet.js.map +1 -1
  75. package/dist/cjs/MutableList.js +3 -0
  76. package/dist/cjs/MutableList.js.map +1 -1
  77. package/dist/cjs/MutableQueue.js +3 -0
  78. package/dist/cjs/MutableQueue.js.map +1 -1
  79. package/dist/cjs/MutableRef.js +3 -0
  80. package/dist/cjs/MutableRef.js.map +1 -1
  81. package/dist/cjs/Number.js.map +1 -1
  82. package/dist/cjs/Option.js.map +1 -1
  83. package/dist/cjs/Order.js.map +1 -1
  84. package/dist/cjs/Ordering.js.map +1 -1
  85. package/dist/cjs/Pipeable.js.map +1 -1
  86. package/dist/cjs/Pool.js.map +1 -1
  87. package/dist/cjs/Predicate.js +18 -2
  88. package/dist/cjs/Predicate.js.map +1 -1
  89. package/dist/cjs/PubSub.js.map +1 -1
  90. package/dist/cjs/Queue.js.map +1 -1
  91. package/dist/cjs/RcMap.js.map +1 -1
  92. package/dist/cjs/Readable.js.map +1 -1
  93. package/dist/cjs/Record.js.map +1 -1
  94. package/dist/cjs/RedBlackTree.js.map +1 -1
  95. package/dist/cjs/Ref.js.map +1 -1
  96. package/dist/cjs/RegExp.js +20 -1
  97. package/dist/cjs/RegExp.js.map +1 -1
  98. package/dist/cjs/Request.js.map +1 -1
  99. package/dist/cjs/RequestResolver.js.map +1 -1
  100. package/dist/cjs/Resource.js.map +1 -1
  101. package/dist/cjs/Runtime.js.map +1 -1
  102. package/dist/cjs/RuntimeFlags.js.map +1 -1
  103. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  104. package/dist/cjs/STM.js.map +1 -1
  105. package/dist/cjs/Schedule.js.map +1 -1
  106. package/dist/cjs/ScheduleInterval.js.map +1 -1
  107. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  108. package/dist/cjs/Scheduler.js.map +1 -1
  109. package/dist/cjs/Scope.js.map +1 -1
  110. package/dist/cjs/ScopedRef.js.map +1 -1
  111. package/dist/cjs/Sink.js.map +1 -1
  112. package/dist/cjs/SortedMap.js +3 -0
  113. package/dist/cjs/SortedMap.js.map +1 -1
  114. package/dist/cjs/SortedSet.js +3 -0
  115. package/dist/cjs/SortedSet.js.map +1 -1
  116. package/dist/cjs/Stream.js +17 -3
  117. package/dist/cjs/Stream.js.map +1 -1
  118. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  119. package/dist/cjs/String.js.map +1 -1
  120. package/dist/cjs/Struct.js.map +1 -1
  121. package/dist/cjs/Subscribable.js.map +1 -1
  122. package/dist/cjs/SubscriptionRef.js.map +1 -1
  123. package/dist/cjs/SynchronizedRef.js.map +1 -1
  124. package/dist/cjs/TArray.js.map +1 -1
  125. package/dist/cjs/TDeferred.js.map +1 -1
  126. package/dist/cjs/TMap.js.map +1 -1
  127. package/dist/cjs/TPriorityQueue.js.map +1 -1
  128. package/dist/cjs/TPubSub.js.map +1 -1
  129. package/dist/cjs/TQueue.js.map +1 -1
  130. package/dist/cjs/TReentrantLock.js.map +1 -1
  131. package/dist/cjs/TRef.js.map +1 -1
  132. package/dist/cjs/TSemaphore.js.map +1 -1
  133. package/dist/cjs/TSet.js.map +1 -1
  134. package/dist/cjs/Take.js.map +1 -1
  135. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  136. package/dist/cjs/TestClock.js.map +1 -1
  137. package/dist/cjs/TestServices.js.map +1 -1
  138. package/dist/cjs/Trie.js.map +1 -1
  139. package/dist/cjs/Tuple.js +21 -2
  140. package/dist/cjs/Tuple.js.map +1 -1
  141. package/dist/cjs/Unify.js.map +1 -1
  142. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  143. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  144. package/dist/cjs/Utils.js +1 -14
  145. package/dist/cjs/Utils.js.map +1 -1
  146. package/dist/cjs/internal/cause.js +3 -0
  147. package/dist/cjs/internal/cause.js.map +1 -1
  148. package/dist/cjs/internal/context.js +6 -1
  149. package/dist/cjs/internal/context.js.map +1 -1
  150. package/dist/cjs/internal/core-effect.js.map +1 -1
  151. package/dist/cjs/internal/core.js +16 -3
  152. package/dist/cjs/internal/core.js.map +1 -1
  153. package/dist/cjs/internal/effect/circular.js +5 -1
  154. package/dist/cjs/internal/effect/circular.js.map +1 -1
  155. package/dist/cjs/internal/fiberId.js +9 -0
  156. package/dist/cjs/internal/fiberId.js.map +1 -1
  157. package/dist/cjs/internal/hashMap.js +3 -0
  158. package/dist/cjs/internal/hashMap.js.map +1 -1
  159. package/dist/cjs/internal/hashSet.js +3 -0
  160. package/dist/cjs/internal/hashSet.js.map +1 -1
  161. package/dist/cjs/internal/layer.js +33 -19
  162. package/dist/cjs/internal/layer.js.map +1 -1
  163. package/dist/cjs/internal/mailbox.js +3 -0
  164. package/dist/cjs/internal/mailbox.js.map +1 -1
  165. package/dist/cjs/internal/managedRuntime/circular.js +10 -0
  166. package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
  167. package/dist/cjs/internal/managedRuntime.js +23 -9
  168. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  169. package/dist/cjs/internal/option.js +3 -0
  170. package/dist/cjs/internal/option.js.map +1 -1
  171. package/dist/cjs/internal/pool.js +6 -1
  172. package/dist/cjs/internal/pool.js.map +1 -1
  173. package/dist/cjs/internal/redBlackTree.js +3 -0
  174. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  175. package/dist/cjs/internal/resource.js +15 -5
  176. package/dist/cjs/internal/resource.js.map +1 -1
  177. package/dist/cjs/internal/runtime.js +4 -1
  178. package/dist/cjs/internal/runtime.js.map +1 -1
  179. package/dist/cjs/internal/scopedRef.js +11 -8
  180. package/dist/cjs/internal/scopedRef.js.map +1 -1
  181. package/dist/cjs/internal/stm/core.js +1 -2
  182. package/dist/cjs/internal/stm/core.js.map +1 -1
  183. package/dist/cjs/internal/stream.js +12 -3
  184. package/dist/cjs/internal/stream.js.map +1 -1
  185. package/dist/cjs/internal/trie.js +3 -0
  186. package/dist/cjs/internal/trie.js.map +1 -1
  187. package/dist/cjs/internal/version.js +1 -1
  188. package/dist/dts/Array.d.ts +2735 -2
  189. package/dist/dts/Array.d.ts.map +1 -1
  190. package/dist/dts/BigDecimal.d.ts +558 -1
  191. package/dist/dts/BigDecimal.d.ts.map +1 -1
  192. package/dist/dts/BigInt.d.ts +490 -0
  193. package/dist/dts/BigInt.d.ts.map +1 -1
  194. package/dist/dts/Boolean.d.ts +228 -0
  195. package/dist/dts/Boolean.d.ts.map +1 -1
  196. package/dist/dts/Cause.d.ts +172 -0
  197. package/dist/dts/Cause.d.ts.map +1 -1
  198. package/dist/dts/Channel.d.ts +750 -0
  199. package/dist/dts/Channel.d.ts.map +1 -1
  200. package/dist/dts/ChildExecutorDecision.d.ts +12 -0
  201. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  202. package/dist/dts/Chunk.d.ts +791 -0
  203. package/dist/dts/Chunk.d.ts.map +1 -1
  204. package/dist/dts/Config.d.ts +174 -0
  205. package/dist/dts/Config.d.ts.map +1 -1
  206. package/dist/dts/ConfigError.d.ts +16 -0
  207. package/dist/dts/ConfigError.d.ts.map +1 -1
  208. package/dist/dts/ConfigProvider.d.ts +84 -0
  209. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  210. package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
  211. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  212. package/dist/dts/Console.d.ts +24 -0
  213. package/dist/dts/Console.d.ts.map +1 -1
  214. package/dist/dts/Context.d.ts +234 -3
  215. package/dist/dts/Context.d.ts.map +1 -1
  216. package/dist/dts/Cron.d.ts +12 -0
  217. package/dist/dts/Cron.d.ts.map +1 -1
  218. package/dist/dts/Data.d.ts +165 -0
  219. package/dist/dts/Data.d.ts.map +1 -1
  220. package/dist/dts/DateTime.d.ts +878 -0
  221. package/dist/dts/DateTime.d.ts.map +1 -1
  222. package/dist/dts/Deferred.d.ts +171 -1
  223. package/dist/dts/Deferred.d.ts.map +1 -1
  224. package/dist/dts/Differ.d.ts +78 -0
  225. package/dist/dts/Differ.d.ts.map +1 -1
  226. package/dist/dts/Duration.d.ts +130 -0
  227. package/dist/dts/Duration.d.ts.map +1 -1
  228. package/dist/dts/Effect.d.ts +4350 -13
  229. package/dist/dts/Effect.d.ts.map +1 -1
  230. package/dist/dts/Either.d.ts +620 -0
  231. package/dist/dts/Either.d.ts.map +1 -1
  232. package/dist/dts/Equivalence.d.ts +24 -0
  233. package/dist/dts/Equivalence.d.ts.map +1 -1
  234. package/dist/dts/ExecutionStrategy.d.ts +14 -0
  235. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  236. package/dist/dts/Exit.d.ts +252 -0
  237. package/dist/dts/Exit.d.ts.map +1 -1
  238. package/dist/dts/Fiber.d.ts +182 -0
  239. package/dist/dts/Fiber.d.ts.map +1 -1
  240. package/dist/dts/FiberHandle.d.ts +42 -0
  241. package/dist/dts/FiberHandle.d.ts.map +1 -1
  242. package/dist/dts/FiberId.d.ts +24 -0
  243. package/dist/dts/FiberId.d.ts.map +1 -1
  244. package/dist/dts/FiberMap.d.ts +102 -0
  245. package/dist/dts/FiberMap.d.ts.map +1 -1
  246. package/dist/dts/FiberRef.d.ts +80 -0
  247. package/dist/dts/FiberRef.d.ts.map +1 -1
  248. package/dist/dts/FiberRefs.d.ts +84 -0
  249. package/dist/dts/FiberRefs.d.ts.map +1 -1
  250. package/dist/dts/FiberRefsPatch.d.ts +30 -0
  251. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  252. package/dist/dts/FiberSet.d.ts +38 -0
  253. package/dist/dts/FiberSet.d.ts.map +1 -1
  254. package/dist/dts/Function.d.ts +144 -28
  255. package/dist/dts/Function.d.ts.map +1 -1
  256. package/dist/dts/GroupBy.d.ts +38 -0
  257. package/dist/dts/GroupBy.d.ts.map +1 -1
  258. package/dist/dts/Hash.d.ts +8 -0
  259. package/dist/dts/Hash.d.ts.map +1 -1
  260. package/dist/dts/HashMap.d.ts +315 -0
  261. package/dist/dts/HashMap.d.ts.map +1 -1
  262. package/dist/dts/HashSet.d.ts +284 -0
  263. package/dist/dts/HashSet.d.ts.map +1 -1
  264. package/dist/dts/Inspectable.d.ts +15 -0
  265. package/dist/dts/Inspectable.d.ts.map +1 -1
  266. package/dist/dts/Iterable.d.ts +454 -0
  267. package/dist/dts/Iterable.d.ts.map +1 -1
  268. package/dist/dts/KeyedPool.d.ts +34 -0
  269. package/dist/dts/KeyedPool.d.ts.map +1 -1
  270. package/dist/dts/Layer.d.ts +460 -5
  271. package/dist/dts/Layer.d.ts.map +1 -1
  272. package/dist/dts/List.d.ts +430 -0
  273. package/dist/dts/List.d.ts.map +1 -1
  274. package/dist/dts/LogLevel.d.ts +46 -0
  275. package/dist/dts/LogLevel.d.ts.map +1 -1
  276. package/dist/dts/Logger.d.ts +194 -0
  277. package/dist/dts/Logger.d.ts.map +1 -1
  278. package/dist/dts/Mailbox.d.ts +16 -0
  279. package/dist/dts/Mailbox.d.ts.map +1 -1
  280. package/dist/dts/ManagedRuntime.d.ts +41 -2
  281. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  282. package/dist/dts/MergeDecision.d.ts +8 -0
  283. package/dist/dts/MergeDecision.d.ts.map +1 -1
  284. package/dist/dts/MergeState.d.ts +8 -0
  285. package/dist/dts/MergeState.d.ts.map +1 -1
  286. package/dist/dts/MergeStrategy.d.ts +12 -0
  287. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  288. package/dist/dts/Metric.d.ts +410 -0
  289. package/dist/dts/Metric.d.ts.map +1 -1
  290. package/dist/dts/MetricHook.d.ts +24 -0
  291. package/dist/dts/MetricHook.d.ts.map +1 -1
  292. package/dist/dts/MetricKey.d.ts +48 -0
  293. package/dist/dts/MetricKey.d.ts.map +1 -1
  294. package/dist/dts/MetricPolling.d.ts +40 -0
  295. package/dist/dts/MetricPolling.d.ts.map +1 -1
  296. package/dist/dts/MetricState.d.ts +16 -0
  297. package/dist/dts/MetricState.d.ts.map +1 -1
  298. package/dist/dts/Micro.d.ts +1110 -0
  299. package/dist/dts/Micro.d.ts.map +1 -1
  300. package/dist/dts/MutableHashMap.d.ts +50 -0
  301. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  302. package/dist/dts/MutableHashSet.d.ts +24 -0
  303. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  304. package/dist/dts/MutableList.d.ts +36 -0
  305. package/dist/dts/MutableList.d.ts.map +1 -1
  306. package/dist/dts/MutableQueue.d.ts +62 -0
  307. package/dist/dts/MutableQueue.d.ts.map +1 -1
  308. package/dist/dts/MutableRef.d.ts +56 -0
  309. package/dist/dts/MutableRef.d.ts.map +1 -1
  310. package/dist/dts/Number.d.ts +474 -0
  311. package/dist/dts/Number.d.ts.map +1 -1
  312. package/dist/dts/Option.d.ts +1019 -0
  313. package/dist/dts/Option.d.ts.map +1 -1
  314. package/dist/dts/Order.d.ts +24 -0
  315. package/dist/dts/Order.d.ts.map +1 -1
  316. package/dist/dts/Ordering.d.ts +66 -0
  317. package/dist/dts/Ordering.d.ts.map +1 -1
  318. package/dist/dts/Pipeable.d.ts +21 -21
  319. package/dist/dts/Pipeable.d.ts.map +1 -1
  320. package/dist/dts/Pool.d.ts +37 -1
  321. package/dist/dts/Pool.d.ts.map +1 -1
  322. package/dist/dts/Predicate.d.ts +513 -0
  323. package/dist/dts/Predicate.d.ts.map +1 -1
  324. package/dist/dts/PubSub.d.ts +28 -0
  325. package/dist/dts/PubSub.d.ts.map +1 -1
  326. package/dist/dts/Queue.d.ts +106 -2
  327. package/dist/dts/Queue.d.ts.map +1 -1
  328. package/dist/dts/RcMap.d.ts +70 -0
  329. package/dist/dts/RcMap.d.ts.map +1 -1
  330. package/dist/dts/Readable.d.ts +16 -0
  331. package/dist/dts/Readable.d.ts.map +1 -1
  332. package/dist/dts/Record.d.ts +800 -0
  333. package/dist/dts/Record.d.ts.map +1 -1
  334. package/dist/dts/RedBlackTree.d.ts +300 -0
  335. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  336. package/dist/dts/Ref.d.ts +88 -0
  337. package/dist/dts/Ref.d.ts.map +1 -1
  338. package/dist/dts/RegExp.d.ts +12 -2
  339. package/dist/dts/RegExp.d.ts.map +1 -1
  340. package/dist/dts/Request.d.ts +76 -0
  341. package/dist/dts/Request.d.ts.map +1 -1
  342. package/dist/dts/RequestResolver.d.ts +144 -0
  343. package/dist/dts/RequestResolver.d.ts.map +1 -1
  344. package/dist/dts/Resource.d.ts +21 -1
  345. package/dist/dts/Resource.d.ts.map +1 -1
  346. package/dist/dts/Runtime.d.ts +126 -0
  347. package/dist/dts/Runtime.d.ts.map +1 -1
  348. package/dist/dts/RuntimeFlags.d.ts +100 -0
  349. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  350. package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
  351. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
  352. package/dist/dts/STM.d.ts +1090 -0
  353. package/dist/dts/STM.d.ts.map +1 -1
  354. package/dist/dts/Schedule.d.ts +704 -0
  355. package/dist/dts/Schedule.d.ts.map +1 -1
  356. package/dist/dts/ScheduleInterval.d.ts +68 -0
  357. package/dist/dts/ScheduleInterval.d.ts.map +1 -1
  358. package/dist/dts/ScheduleIntervals.d.ts +50 -0
  359. package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
  360. package/dist/dts/Scope.d.ts +36 -0
  361. package/dist/dts/Scope.d.ts.map +1 -1
  362. package/dist/dts/ScopedRef.d.ts +43 -1
  363. package/dist/dts/ScopedRef.d.ts.map +1 -1
  364. package/dist/dts/Sink.d.ts +464 -0
  365. package/dist/dts/Sink.d.ts.map +1 -1
  366. package/dist/dts/SortedMap.d.ts +76 -0
  367. package/dist/dts/SortedMap.d.ts.map +1 -1
  368. package/dist/dts/SortedSet.d.ts +142 -0
  369. package/dist/dts/SortedSet.d.ts.map +1 -1
  370. package/dist/dts/Stream.d.ts +4998 -1
  371. package/dist/dts/Stream.d.ts.map +1 -1
  372. package/dist/dts/StreamHaltStrategy.d.ts +12 -0
  373. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  374. package/dist/dts/String.d.ts +200 -0
  375. package/dist/dts/String.d.ts.map +1 -1
  376. package/dist/dts/Struct.d.ts +84 -0
  377. package/dist/dts/Struct.d.ts.map +1 -1
  378. package/dist/dts/Subscribable.d.ts +16 -0
  379. package/dist/dts/Subscribable.d.ts.map +1 -1
  380. package/dist/dts/SubscriptionRef.d.ts +152 -0
  381. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  382. package/dist/dts/SynchronizedRef.d.ts +152 -0
  383. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  384. package/dist/dts/TArray.d.ts +426 -0
  385. package/dist/dts/TArray.d.ts.map +1 -1
  386. package/dist/dts/TDeferred.d.ts +24 -0
  387. package/dist/dts/TDeferred.d.ts.map +1 -1
  388. package/dist/dts/TMap.d.ts +366 -0
  389. package/dist/dts/TMap.d.ts.map +1 -1
  390. package/dist/dts/TPriorityQueue.d.ts +60 -0
  391. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  392. package/dist/dts/TPubSub.d.ts +28 -0
  393. package/dist/dts/TPubSub.d.ts.map +1 -1
  394. package/dist/dts/TQueue.d.ts +108 -0
  395. package/dist/dts/TQueue.d.ts.map +1 -1
  396. package/dist/dts/TReentrantLock.d.ts +36 -0
  397. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  398. package/dist/dts/TRef.d.ts +88 -0
  399. package/dist/dts/TRef.d.ts.map +1 -1
  400. package/dist/dts/TSemaphore.d.ts +40 -0
  401. package/dist/dts/TSemaphore.d.ts.map +1 -1
  402. package/dist/dts/TSet.d.ts +254 -0
  403. package/dist/dts/TSet.d.ts.map +1 -1
  404. package/dist/dts/Take.d.ts +56 -0
  405. package/dist/dts/Take.d.ts.map +1 -1
  406. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  407. package/dist/dts/TestClock.d.ts.map +1 -1
  408. package/dist/dts/TestServices.d.ts.map +1 -1
  409. package/dist/dts/Trie.d.ts +906 -0
  410. package/dist/dts/Trie.d.ts.map +1 -1
  411. package/dist/dts/Tuple.d.ts +203 -0
  412. package/dist/dts/Tuple.d.ts.map +1 -1
  413. package/dist/dts/Types.d.ts +39 -0
  414. package/dist/dts/Types.d.ts.map +1 -1
  415. package/dist/dts/Unify.d.ts +26 -13
  416. package/dist/dts/Unify.d.ts.map +1 -1
  417. package/dist/dts/UpstreamPullRequest.d.ts +12 -0
  418. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  419. package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
  420. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  421. package/dist/dts/Utils.d.ts.map +1 -1
  422. package/dist/dts/internal/core.d.ts.map +1 -1
  423. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  424. package/dist/dts/internal/layer.d.ts.map +1 -1
  425. package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
  426. package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
  427. package/dist/dts/internal/stream.d.ts.map +1 -1
  428. package/dist/esm/Array.js +21 -0
  429. package/dist/esm/Array.js.map +1 -1
  430. package/dist/esm/BigDecimal.js +6 -3
  431. package/dist/esm/BigDecimal.js.map +1 -1
  432. package/dist/esm/BigInt.js.map +1 -1
  433. package/dist/esm/Boolean.js.map +1 -1
  434. package/dist/esm/Cause.js.map +1 -1
  435. package/dist/esm/Channel.js.map +1 -1
  436. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  437. package/dist/esm/Chunk.js +4 -1
  438. package/dist/esm/Chunk.js.map +1 -1
  439. package/dist/esm/Config.js.map +1 -1
  440. package/dist/esm/ConfigError.js.map +1 -1
  441. package/dist/esm/ConfigProvider.js.map +1 -1
  442. package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
  443. package/dist/esm/Console.js.map +1 -1
  444. package/dist/esm/Context.js.map +1 -1
  445. package/dist/esm/Cron.js +4 -1
  446. package/dist/esm/Cron.js.map +1 -1
  447. package/dist/esm/Data.js.map +1 -1
  448. package/dist/esm/DateTime.js +6 -0
  449. package/dist/esm/DateTime.js.map +1 -1
  450. package/dist/esm/Deferred.js.map +1 -1
  451. package/dist/esm/Differ.js.map +1 -1
  452. package/dist/esm/Duration.js +4 -1
  453. package/dist/esm/Duration.js.map +1 -1
  454. package/dist/esm/Effect.js +116 -30
  455. package/dist/esm/Effect.js.map +1 -1
  456. package/dist/esm/Either.js.map +1 -1
  457. package/dist/esm/Equivalence.js.map +1 -1
  458. package/dist/esm/ExecutionStrategy.js.map +1 -1
  459. package/dist/esm/Exit.js.map +1 -1
  460. package/dist/esm/Fiber.js.map +1 -1
  461. package/dist/esm/FiberHandle.js +3 -0
  462. package/dist/esm/FiberHandle.js.map +1 -1
  463. package/dist/esm/FiberId.js.map +1 -1
  464. package/dist/esm/FiberMap.js +3 -0
  465. package/dist/esm/FiberMap.js.map +1 -1
  466. package/dist/esm/FiberRef.js.map +1 -1
  467. package/dist/esm/FiberRefs.js.map +1 -1
  468. package/dist/esm/FiberRefsPatch.js.map +1 -1
  469. package/dist/esm/FiberSet.js +3 -0
  470. package/dist/esm/FiberSet.js.map +1 -1
  471. package/dist/esm/Function.js.map +1 -1
  472. package/dist/esm/GroupBy.js.map +1 -1
  473. package/dist/esm/Hash.js.map +1 -1
  474. package/dist/esm/HashMap.js.map +1 -1
  475. package/dist/esm/HashSet.js.map +1 -1
  476. package/dist/esm/Inspectable.js +14 -0
  477. package/dist/esm/Inspectable.js.map +1 -1
  478. package/dist/esm/Iterable.js.map +1 -1
  479. package/dist/esm/KeyedPool.js.map +1 -1
  480. package/dist/esm/Layer.js.map +1 -1
  481. package/dist/esm/List.js +7 -1
  482. package/dist/esm/List.js.map +1 -1
  483. package/dist/esm/LogLevel.js.map +1 -1
  484. package/dist/esm/Logger.js.map +1 -1
  485. package/dist/esm/Mailbox.js.map +1 -1
  486. package/dist/esm/ManagedRuntime.js +15 -0
  487. package/dist/esm/ManagedRuntime.js.map +1 -1
  488. package/dist/esm/MergeDecision.js.map +1 -1
  489. package/dist/esm/MergeState.js.map +1 -1
  490. package/dist/esm/MergeStrategy.js.map +1 -1
  491. package/dist/esm/Metric.js.map +1 -1
  492. package/dist/esm/MetricHook.js.map +1 -1
  493. package/dist/esm/MetricKey.js.map +1 -1
  494. package/dist/esm/MetricPolling.js.map +1 -1
  495. package/dist/esm/MetricState.js.map +1 -1
  496. package/dist/esm/Micro.js +7 -1
  497. package/dist/esm/Micro.js.map +1 -1
  498. package/dist/esm/MutableHashMap.js +4 -1
  499. package/dist/esm/MutableHashMap.js.map +1 -1
  500. package/dist/esm/MutableHashSet.js +4 -1
  501. package/dist/esm/MutableHashSet.js.map +1 -1
  502. package/dist/esm/MutableList.js +4 -1
  503. package/dist/esm/MutableList.js.map +1 -1
  504. package/dist/esm/MutableQueue.js +4 -1
  505. package/dist/esm/MutableQueue.js.map +1 -1
  506. package/dist/esm/MutableRef.js +4 -1
  507. package/dist/esm/MutableRef.js.map +1 -1
  508. package/dist/esm/Number.js.map +1 -1
  509. package/dist/esm/Option.js.map +1 -1
  510. package/dist/esm/Order.js.map +1 -1
  511. package/dist/esm/Ordering.js.map +1 -1
  512. package/dist/esm/Pipeable.js.map +1 -1
  513. package/dist/esm/Pool.js.map +1 -1
  514. package/dist/esm/Predicate.js +15 -0
  515. package/dist/esm/Predicate.js.map +1 -1
  516. package/dist/esm/PubSub.js.map +1 -1
  517. package/dist/esm/Queue.js.map +1 -1
  518. package/dist/esm/RcMap.js.map +1 -1
  519. package/dist/esm/Readable.js.map +1 -1
  520. package/dist/esm/Record.js.map +1 -1
  521. package/dist/esm/RedBlackTree.js.map +1 -1
  522. package/dist/esm/Ref.js.map +1 -1
  523. package/dist/esm/RegExp.js +16 -0
  524. package/dist/esm/RegExp.js.map +1 -1
  525. package/dist/esm/Request.js.map +1 -1
  526. package/dist/esm/RequestResolver.js.map +1 -1
  527. package/dist/esm/Resource.js.map +1 -1
  528. package/dist/esm/Runtime.js.map +1 -1
  529. package/dist/esm/RuntimeFlags.js.map +1 -1
  530. package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
  531. package/dist/esm/STM.js.map +1 -1
  532. package/dist/esm/Schedule.js.map +1 -1
  533. package/dist/esm/ScheduleInterval.js.map +1 -1
  534. package/dist/esm/ScheduleIntervals.js.map +1 -1
  535. package/dist/esm/Scheduler.js.map +1 -1
  536. package/dist/esm/Scope.js.map +1 -1
  537. package/dist/esm/ScopedRef.js.map +1 -1
  538. package/dist/esm/Sink.js.map +1 -1
  539. package/dist/esm/SortedMap.js +4 -1
  540. package/dist/esm/SortedMap.js.map +1 -1
  541. package/dist/esm/SortedSet.js +4 -1
  542. package/dist/esm/SortedSet.js.map +1 -1
  543. package/dist/esm/Stream.js +14 -0
  544. package/dist/esm/Stream.js.map +1 -1
  545. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  546. package/dist/esm/String.js.map +1 -1
  547. package/dist/esm/Struct.js.map +1 -1
  548. package/dist/esm/Subscribable.js.map +1 -1
  549. package/dist/esm/SubscriptionRef.js.map +1 -1
  550. package/dist/esm/SynchronizedRef.js.map +1 -1
  551. package/dist/esm/TArray.js.map +1 -1
  552. package/dist/esm/TDeferred.js.map +1 -1
  553. package/dist/esm/TMap.js.map +1 -1
  554. package/dist/esm/TPriorityQueue.js.map +1 -1
  555. package/dist/esm/TPubSub.js.map +1 -1
  556. package/dist/esm/TQueue.js.map +1 -1
  557. package/dist/esm/TReentrantLock.js.map +1 -1
  558. package/dist/esm/TRef.js.map +1 -1
  559. package/dist/esm/TSemaphore.js.map +1 -1
  560. package/dist/esm/TSet.js.map +1 -1
  561. package/dist/esm/Take.js.map +1 -1
  562. package/dist/esm/TestAnnotationMap.js.map +1 -1
  563. package/dist/esm/TestClock.js.map +1 -1
  564. package/dist/esm/TestServices.js.map +1 -1
  565. package/dist/esm/Trie.js.map +1 -1
  566. package/dist/esm/Tuple.js +19 -0
  567. package/dist/esm/Tuple.js.map +1 -1
  568. package/dist/esm/Unify.js.map +1 -1
  569. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  570. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  571. package/dist/esm/Utils.js +1 -14
  572. package/dist/esm/Utils.js.map +1 -1
  573. package/dist/esm/internal/cause.js +4 -1
  574. package/dist/esm/internal/cause.js.map +1 -1
  575. package/dist/esm/internal/context.js +7 -2
  576. package/dist/esm/internal/context.js.map +1 -1
  577. package/dist/esm/internal/core-effect.js.map +1 -1
  578. package/dist/esm/internal/core.js +14 -2
  579. package/dist/esm/internal/core.js.map +1 -1
  580. package/dist/esm/internal/effect/circular.js +5 -1
  581. package/dist/esm/internal/effect/circular.js.map +1 -1
  582. package/dist/esm/internal/fiberId.js +10 -1
  583. package/dist/esm/internal/fiberId.js.map +1 -1
  584. package/dist/esm/internal/hashMap.js +4 -1
  585. package/dist/esm/internal/hashMap.js.map +1 -1
  586. package/dist/esm/internal/hashSet.js +4 -1
  587. package/dist/esm/internal/hashSet.js.map +1 -1
  588. package/dist/esm/internal/layer.js +32 -18
  589. package/dist/esm/internal/layer.js.map +1 -1
  590. package/dist/esm/internal/mailbox.js +3 -0
  591. package/dist/esm/internal/mailbox.js.map +1 -1
  592. package/dist/esm/internal/managedRuntime/circular.js +4 -0
  593. package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
  594. package/dist/esm/internal/managedRuntime.js +21 -8
  595. package/dist/esm/internal/managedRuntime.js.map +1 -1
  596. package/dist/esm/internal/option.js +4 -1
  597. package/dist/esm/internal/option.js.map +1 -1
  598. package/dist/esm/internal/pool.js +6 -1
  599. package/dist/esm/internal/pool.js.map +1 -1
  600. package/dist/esm/internal/redBlackTree.js +4 -1
  601. package/dist/esm/internal/redBlackTree.js.map +1 -1
  602. package/dist/esm/internal/resource.js +15 -5
  603. package/dist/esm/internal/resource.js.map +1 -1
  604. package/dist/esm/internal/runtime.js +4 -1
  605. package/dist/esm/internal/runtime.js.map +1 -1
  606. package/dist/esm/internal/scopedRef.js +11 -8
  607. package/dist/esm/internal/scopedRef.js.map +1 -1
  608. package/dist/esm/internal/stm/core.js +1 -2
  609. package/dist/esm/internal/stm/core.js.map +1 -1
  610. package/dist/esm/internal/stream.js +9 -0
  611. package/dist/esm/internal/stream.js.map +1 -1
  612. package/dist/esm/internal/trie.js +4 -1
  613. package/dist/esm/internal/trie.js.map +1 -1
  614. package/dist/esm/internal/version.js +1 -1
  615. package/package.json +1 -1
  616. package/src/Array.ts +2791 -40
  617. package/src/BigDecimal.ts +589 -19
  618. package/src/BigInt.ts +516 -16
  619. package/src/Boolean.ts +241 -8
  620. package/src/Cause.ts +177 -1
  621. package/src/Channel.ts +766 -49
  622. package/src/ChildExecutorDecision.ts +12 -0
  623. package/src/Chunk.ts +822 -5
  624. package/src/Config.ts +187 -8
  625. package/src/ConfigError.ts +16 -0
  626. package/src/ConfigProvider.ts +89 -1
  627. package/src/ConfigProviderPathPatch.ts +32 -0
  628. package/src/Console.ts +37 -8
  629. package/src/Context.ts +234 -3
  630. package/src/Cron.ts +16 -1
  631. package/src/Data.ts +165 -0
  632. package/src/DateTime.ts +1012 -50
  633. package/src/Deferred.ts +171 -1
  634. package/src/Differ.ts +89 -27
  635. package/src/Duration.ts +160 -17
  636. package/src/Effect.ts +4717 -164
  637. package/src/Either.ts +650 -34
  638. package/src/Equivalence.ts +24 -0
  639. package/src/ExecutionStrategy.ts +29 -10
  640. package/src/Exit.ts +252 -0
  641. package/src/Fiber.ts +182 -0
  642. package/src/FiberHandle.ts +45 -0
  643. package/src/FiberId.ts +24 -0
  644. package/src/FiberMap.ts +147 -21
  645. package/src/FiberRef.ts +80 -0
  646. package/src/FiberRefs.ts +84 -0
  647. package/src/FiberRefsPatch.ts +35 -1
  648. package/src/FiberSet.ts +41 -0
  649. package/src/Function.ts +416 -31
  650. package/src/GroupBy.ts +38 -0
  651. package/src/Hash.ts +8 -0
  652. package/src/HashMap.ts +316 -0
  653. package/src/HashSet.ts +284 -0
  654. package/src/Inspectable.ts +22 -0
  655. package/src/Iterable.ts +456 -6
  656. package/src/KeyedPool.ts +34 -0
  657. package/src/Layer.ts +475 -38
  658. package/src/List.ts +483 -4
  659. package/src/LogLevel.ts +46 -0
  660. package/src/Logger.ts +195 -4
  661. package/src/Mailbox.ts +16 -0
  662. package/src/ManagedRuntime.ts +46 -2
  663. package/src/MergeDecision.ts +8 -0
  664. package/src/MergeState.ts +8 -0
  665. package/src/MergeStrategy.ts +25 -8
  666. package/src/Metric.ts +426 -15
  667. package/src/MetricHook.ts +24 -0
  668. package/src/MetricKey.ts +62 -8
  669. package/src/MetricPolling.ts +42 -6
  670. package/src/MetricState.ts +16 -0
  671. package/src/Micro.ts +1223 -61
  672. package/src/MutableHashMap.ts +109 -2
  673. package/src/MutableHashSet.ts +28 -1
  674. package/src/MutableList.ts +40 -1
  675. package/src/MutableQueue.ts +66 -1
  676. package/src/MutableRef.ts +60 -1
  677. package/src/Number.ts +500 -16
  678. package/src/Option.ts +1042 -16
  679. package/src/Order.ts +24 -0
  680. package/src/Ordering.ts +66 -0
  681. package/src/Pipeable.ts +224 -21
  682. package/src/Pool.ts +42 -1
  683. package/src/Predicate.ts +514 -0
  684. package/src/PubSub.ts +28 -0
  685. package/src/Queue.ts +106 -2
  686. package/src/RcMap.ts +70 -0
  687. package/src/Readable.ts +18 -7
  688. package/src/Record.ts +814 -40
  689. package/src/RedBlackTree.ts +305 -1
  690. package/src/Ref.ts +88 -0
  691. package/src/RegExp.ts +17 -0
  692. package/src/Request.ts +76 -0
  693. package/src/RequestResolver.ts +145 -4
  694. package/src/Resource.ts +22 -1
  695. package/src/Runtime.ts +134 -2
  696. package/src/RuntimeFlags.ts +100 -0
  697. package/src/RuntimeFlagsPatch.ts +112 -0
  698. package/src/STM.ts +1107 -11
  699. package/src/Schedule.ts +704 -0
  700. package/src/ScheduleInterval.ts +68 -0
  701. package/src/ScheduleIntervals.ts +50 -0
  702. package/src/Scheduler.ts +2 -0
  703. package/src/Scope.ts +36 -0
  704. package/src/ScopedRef.ts +44 -1
  705. package/src/Sink.ts +464 -0
  706. package/src/SortedMap.ts +80 -1
  707. package/src/SortedSet.ts +147 -4
  708. package/src/Stream.ts +5041 -54
  709. package/src/StreamHaltStrategy.ts +29 -12
  710. package/src/String.ts +200 -0
  711. package/src/Struct.ts +86 -7
  712. package/src/Subscribable.ts +16 -0
  713. package/src/SubscriptionRef.ts +159 -11
  714. package/src/SynchronizedRef.ts +169 -8
  715. package/src/TArray.ts +431 -1
  716. package/src/TDeferred.ts +24 -0
  717. package/src/TMap.ts +381 -12
  718. package/src/TPriorityQueue.ts +60 -0
  719. package/src/TPubSub.ts +28 -0
  720. package/src/TQueue.ts +108 -0
  721. package/src/TReentrantLock.ts +36 -0
  722. package/src/TRef.ts +88 -0
  723. package/src/TSemaphore.ts +40 -0
  724. package/src/TSet.ts +280 -12
  725. package/src/Take.ts +56 -0
  726. package/src/TestAnnotationMap.ts +45 -1
  727. package/src/TestClock.ts +6 -0
  728. package/src/TestServices.ts +66 -0
  729. package/src/Trie.ts +906 -0
  730. package/src/Tuple.ts +223 -8
  731. package/src/Types.ts +41 -0
  732. package/src/Unify.ts +28 -17
  733. package/src/UpstreamPullRequest.ts +12 -0
  734. package/src/UpstreamPullStrategy.ts +12 -0
  735. package/src/Utils.ts +1 -15
  736. package/src/internal/cause.ts +4 -1
  737. package/src/internal/context.ts +7 -2
  738. package/src/internal/core-effect.ts +7 -7
  739. package/src/internal/core.ts +14 -2
  740. package/src/internal/effect/circular.ts +8 -2
  741. package/src/internal/fiberId.ts +10 -1
  742. package/src/internal/hashMap.ts +4 -1
  743. package/src/internal/hashSet.ts +4 -1
  744. package/src/internal/layer.ts +105 -38
  745. package/src/internal/mailbox.ts +3 -0
  746. package/src/internal/managedRuntime/circular.ts +6 -0
  747. package/src/internal/managedRuntime.ts +36 -22
  748. package/src/internal/option.ts +4 -1
  749. package/src/internal/pool.ts +7 -1
  750. package/src/internal/redBlackTree.ts +4 -1
  751. package/src/internal/resource.ts +16 -5
  752. package/src/internal/runtime.ts +4 -1
  753. package/src/internal/scopedRef.ts +12 -8
  754. package/src/internal/stm/core.ts +2 -3
  755. package/src/internal/stream.ts +27 -0
  756. package/src/internal/trie.ts +4 -1
  757. package/src/internal/version.ts +1 -1
package/src/Metric.ts CHANGED
@@ -152,7 +152,23 @@ export const make: MetricApply = internal.make
152
152
  * @category mapping
153
153
  */
154
154
  export const mapInput: {
155
+ /**
156
+ * Returns a new metric that is powered by this one, but which accepts updates
157
+ * of the specified new type, which must be transformable to the input type of
158
+ * this metric.
159
+ *
160
+ * @since 2.0.0
161
+ * @category mapping
162
+ */
155
163
  <In, In2>(f: (input: In2) => In): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In2, Out>
164
+ /**
165
+ * Returns a new metric that is powered by this one, but which accepts updates
166
+ * of the specified new type, which must be transformable to the input type of
167
+ * this metric.
168
+ *
169
+ * @since 2.0.0
170
+ * @category mapping
171
+ */
156
172
  <Type, In, Out, In2>(self: Metric<Type, In, Out>, f: (input: In2) => In): Metric<Type, In2, Out>
157
173
  } = internal.mapInput
158
174
 
@@ -182,6 +198,31 @@ export const mapInput: {
182
198
  * @category constructors
183
199
  */
184
200
  export const counter: {
201
+ /**
202
+ * Represents a Counter metric that tracks cumulative numerical values over time.
203
+ * Counters can be incremented and decremented and provide a running total of changes.
204
+ *
205
+ * @param name - The name of the counter metric.
206
+ * @param options - An optional configuration for the counter:
207
+ * - description - A description of the counter.
208
+ * - bigint - Indicates if the counter uses 'bigint' data type.
209
+ * - 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.
210
+ *
211
+ * @example
212
+ * import { Metric } from "effect"
213
+ *
214
+ * const numberCounter = Metric.counter("count", {
215
+ * description: "A number counter"
216
+ * });
217
+ *
218
+ * const bigintCounter = Metric.counter("count", {
219
+ * description: "A bigint counter",
220
+ * bigint: true
221
+ * });
222
+ *
223
+ * @since 2.0.0
224
+ * @category constructors
225
+ */
185
226
  (
186
227
  name: string,
187
228
  options?: {
@@ -190,6 +231,31 @@ export const counter: {
190
231
  readonly incremental?: boolean | undefined
191
232
  }
192
233
  ): Metric.Counter<number>
234
+ /**
235
+ * Represents a Counter metric that tracks cumulative numerical values over time.
236
+ * Counters can be incremented and decremented and provide a running total of changes.
237
+ *
238
+ * @param name - The name of the counter metric.
239
+ * @param options - An optional configuration for the counter:
240
+ * - description - A description of the counter.
241
+ * - bigint - Indicates if the counter uses 'bigint' data type.
242
+ * - 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.
243
+ *
244
+ * @example
245
+ * import { Metric } from "effect"
246
+ *
247
+ * const numberCounter = Metric.counter("count", {
248
+ * description: "A number counter"
249
+ * });
250
+ *
251
+ * const bigintCounter = Metric.counter("count", {
252
+ * description: "A bigint counter",
253
+ * bigint: true
254
+ * });
255
+ *
256
+ * @since 2.0.0
257
+ * @category constructors
258
+ */
193
259
  (
194
260
  name: string,
195
261
  options: {
@@ -233,7 +299,23 @@ export const frequency: (
233
299
  * @category constructors
234
300
  */
235
301
  export const withConstantInput: {
302
+ /**
303
+ * Returns a new metric that is powered by this one, but which accepts updates
304
+ * of any type, and translates them to updates with the specified constant
305
+ * update value.
306
+ *
307
+ * @since 2.0.0
308
+ * @category constructors
309
+ */
236
310
  <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, unknown, Out>
311
+ /**
312
+ * Returns a new metric that is powered by this one, but which accepts updates
313
+ * of any type, and translates them to updates with the specified constant
314
+ * update value.
315
+ *
316
+ * @since 2.0.0
317
+ * @category constructors
318
+ */
237
319
  <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Metric<Type, unknown, Out>
238
320
  } = internal.withConstantInput
239
321
 
@@ -271,14 +353,68 @@ export const fromMetricKey: <Type extends MetricKeyType.MetricKeyType<any, any>>
271
353
  * @category constructors
272
354
  */
273
355
  export const gauge: {
274
- (name: string, options?: {
275
- readonly description?: string | undefined
276
- readonly bigint?: false | undefined
277
- }): Metric.Gauge<number>
278
- (name: string, options: {
279
- readonly description?: string | undefined
280
- readonly bigint: true
281
- }): Metric.Gauge<bigint>
356
+ /**
357
+ * Represents a Gauge metric that tracks and reports a single numerical value at a specific moment.
358
+ * Gauges are suitable for metrics that represent instantaneous values, such as memory usage or CPU load.
359
+ *
360
+ * @param name - The name of the gauge metric.
361
+ * @param options - An optional configuration for the gauge:
362
+ * - description - A description of the gauge metric.
363
+ * - bigint - Indicates if the counter uses 'bigint' data type.
364
+ *
365
+ * @example
366
+ * import { Metric } from "effect"
367
+ *
368
+ * const numberGauge = Metric.gauge("memory_usage", {
369
+ * description: "A gauge for memory usage"
370
+ * });
371
+ *
372
+ * const bigintGauge = Metric.gauge("cpu_load", {
373
+ * description: "A gauge for CPU load",
374
+ * bigint: true
375
+ * });
376
+ *
377
+ * @since 2.0.0
378
+ * @category constructors
379
+ */
380
+ (
381
+ name: string,
382
+ options?: {
383
+ readonly description?: string | undefined
384
+ readonly bigint?: false | undefined
385
+ }
386
+ ): Metric.Gauge<number>
387
+ /**
388
+ * Represents a Gauge metric that tracks and reports a single numerical value at a specific moment.
389
+ * Gauges are suitable for metrics that represent instantaneous values, such as memory usage or CPU load.
390
+ *
391
+ * @param name - The name of the gauge metric.
392
+ * @param options - An optional configuration for the gauge:
393
+ * - description - A description of the gauge metric.
394
+ * - bigint - Indicates if the counter uses 'bigint' data type.
395
+ *
396
+ * @example
397
+ * import { Metric } from "effect"
398
+ *
399
+ * const numberGauge = Metric.gauge("memory_usage", {
400
+ * description: "A gauge for memory usage"
401
+ * });
402
+ *
403
+ * const bigintGauge = Metric.gauge("cpu_load", {
404
+ * description: "A gauge for CPU load",
405
+ * bigint: true
406
+ * });
407
+ *
408
+ * @since 2.0.0
409
+ * @category constructors
410
+ */
411
+ (
412
+ name: string,
413
+ options: {
414
+ readonly description?: string | undefined
415
+ readonly bigint: true
416
+ }
417
+ ): Metric.Gauge<bigint>
282
418
  } = internal.gauge
283
419
 
284
420
  /**
@@ -319,9 +455,25 @@ export const increment: (
319
455
  * @category combinators
320
456
  */
321
457
  export const incrementBy: {
458
+ /**
459
+ * @since 2.0.0
460
+ * @category combinators
461
+ */
322
462
  (amount: number): (self: Metric.Counter<number> | Metric.Counter<number>) => Effect.Effect<void>
463
+ /**
464
+ * @since 2.0.0
465
+ * @category combinators
466
+ */
323
467
  (amount: bigint): (self: Metric.Counter<bigint> | Metric.Gauge<bigint>) => Effect.Effect<void>
468
+ /**
469
+ * @since 2.0.0
470
+ * @category combinators
471
+ */
324
472
  (self: Metric.Counter<number> | Metric.Gauge<number>, amount: number): Effect.Effect<void>
473
+ /**
474
+ * @since 2.0.0
475
+ * @category combinators
476
+ */
325
477
  (self: Metric.Counter<bigint> | Metric.Gauge<bigint>, amount: bigint): Effect.Effect<void>
326
478
  } = internal.incrementBy
327
479
 
@@ -334,7 +486,23 @@ export const incrementBy: {
334
486
  * @category mapping
335
487
  */
336
488
  export const map: {
489
+ /**
490
+ * Returns a new metric that is powered by this one, but which outputs a new
491
+ * state type, determined by transforming the state type of this metric by the
492
+ * specified function.
493
+ *
494
+ * @since 2.0.0
495
+ * @category mapping
496
+ */
337
497
  <Out, Out2>(f: (out: Out) => Out2): <Type, In>(self: Metric<Type, In, Out>) => Metric<Type, In, Out2>
498
+ /**
499
+ * Returns a new metric that is powered by this one, but which outputs a new
500
+ * state type, determined by transforming the state type of this metric by the
501
+ * specified function.
502
+ *
503
+ * @since 2.0.0
504
+ * @category mapping
505
+ */
338
506
  <Type, In, Out, Out2>(self: Metric<Type, In, Out>, f: (out: Out) => Out2): Metric<Type, In, Out2>
339
507
  } = internal.map
340
508
 
@@ -343,7 +511,15 @@ export const map: {
343
511
  * @category mapping
344
512
  */
345
513
  export const mapType: {
514
+ /**
515
+ * @since 2.0.0
516
+ * @category mapping
517
+ */
346
518
  <Type, Type2>(f: (type: Type) => Type2): <In, Out>(self: Metric<Type, In, Out>) => Metric<Type2, In, Out>
519
+ /**
520
+ * @since 2.0.0
521
+ * @category mapping
522
+ */
347
523
  <Type, In, Out, Type2>(self: Metric<Type, In, Out>, f: (type: Type) => Type2): Metric<Type2, In, Out>
348
524
  } = internal.mapType
349
525
 
@@ -356,7 +532,23 @@ export const mapType: {
356
532
  * @category utils
357
533
  */
358
534
  export const modify: {
535
+ /**
536
+ * Modifies the metric with the specified update message. For example, if the
537
+ * metric were a gauge, the update would increment the method by the provided
538
+ * amount.
539
+ *
540
+ * @since 3.6.5
541
+ * @category utils
542
+ */
359
543
  <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
544
+ /**
545
+ * Modifies the metric with the specified update message. For example, if the
546
+ * metric were a gauge, the update would increment the method by the provided
547
+ * amount.
548
+ *
549
+ * @since 3.6.5
550
+ * @category utils
551
+ */
360
552
  <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
361
553
  } = internal.modify
362
554
 
@@ -365,9 +557,25 @@ export const modify: {
365
557
  * @category aspects
366
558
  */
367
559
  export const set: {
560
+ /**
561
+ * @since 2.0.0
562
+ * @category aspects
563
+ */
368
564
  (value: number): (self: Metric.Gauge<number>) => Effect.Effect<void>
565
+ /**
566
+ * @since 2.0.0
567
+ * @category aspects
568
+ */
369
569
  (value: bigint): (self: Metric.Gauge<bigint>) => Effect.Effect<void>
570
+ /**
571
+ * @since 2.0.0
572
+ * @category aspects
573
+ */
370
574
  (self: Metric.Gauge<number>, value: number): Effect.Effect<void>
575
+ /**
576
+ * @since 2.0.0
577
+ * @category aspects
578
+ */
371
579
  (self: Metric.Gauge<bigint>, value: bigint): Effect.Effect<void>
372
580
  } = internal.set
373
581
 
@@ -457,7 +665,21 @@ export const summaryTimestamp: (
457
665
  * @category utils
458
666
  */
459
667
  export const tagged: {
668
+ /**
669
+ * Returns a new metric, which is identical in every way to this one, except
670
+ * the specified tags have been added to the tags of this metric.
671
+ *
672
+ * @since 2.0.0
673
+ * @category utils
674
+ */
460
675
  <Type, In, Out>(key: string, value: string): (self: Metric<Type, In, Out>) => Metric<Type, In, Out>
676
+ /**
677
+ * Returns a new metric, which is identical in every way to this one, except
678
+ * the specified tags have been added to the tags of this metric.
679
+ *
680
+ * @since 2.0.0
681
+ * @category utils
682
+ */
461
683
  <Type, In, Out>(self: Metric<Type, In, Out>, key: string, value: string): Metric<Type, In, Out>
462
684
  } = internal.tagged
463
685
 
@@ -471,9 +693,27 @@ export const tagged: {
471
693
  * @category utils
472
694
  */
473
695
  export const taggedWithLabelsInput: {
696
+ /**
697
+ * Returns a new metric, which is identical in every way to this one, except
698
+ * dynamic tags are added based on the update values. Note that the metric
699
+ * returned by this method does not return any useful information, due to the
700
+ * dynamic nature of the added tags.
701
+ *
702
+ * @since 2.0.0
703
+ * @category utils
704
+ */
474
705
  <In>(
475
706
  f: (input: In) => Iterable<MetricLabel.MetricLabel>
476
707
  ): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In, void>
708
+ /**
709
+ * Returns a new metric, which is identical in every way to this one, except
710
+ * dynamic tags are added based on the update values. Note that the metric
711
+ * returned by this method does not return any useful information, due to the
712
+ * dynamic nature of the added tags.
713
+ *
714
+ * @since 2.0.0
715
+ * @category utils
716
+ */
477
717
  <Type, In, Out>(
478
718
  self: Metric<Type, In, Out>,
479
719
  f: (input: In) => Iterable<MetricLabel.MetricLabel>
@@ -488,7 +728,21 @@ export const taggedWithLabelsInput: {
488
728
  * @category utils
489
729
  */
490
730
  export const taggedWithLabels: {
731
+ /**
732
+ * Returns a new metric, which is identical in every way to this one, except
733
+ * the specified tags have been added to the tags of this metric.
734
+ *
735
+ * @since 2.0.0
736
+ * @category utils
737
+ */
491
738
  <Type, In, Out>(extraTags: Iterable<MetricLabel.MetricLabel>): (self: Metric<Type, In, Out>) => Metric<Type, In, Out>
739
+ /**
740
+ * Returns a new metric, which is identical in every way to this one, except
741
+ * the specified tags have been added to the tags of this metric.
742
+ *
743
+ * @since 2.0.0
744
+ * @category utils
745
+ */
492
746
  <Type, In, Out>(self: Metric<Type, In, Out>, extraTags: Iterable<MetricLabel.MetricLabel>): Metric<Type, In, Out>
493
747
  } = internal.taggedWithLabels
494
748
 
@@ -531,9 +785,25 @@ export const timerWithBoundaries: (
531
785
  * @category aspects
532
786
  */
533
787
  export const trackAll: {
788
+ /**
789
+ * Returns an aspect that will update this metric with the specified constant
790
+ * value every time the aspect is applied to an effect, regardless of whether
791
+ * that effect fails or succeeds.
792
+ *
793
+ * @since 2.0.0
794
+ * @category aspects
795
+ */
534
796
  <In>(
535
797
  input: In
536
798
  ): <Type, Out>(self: Metric<Type, In, Out>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
799
+ /**
800
+ * Returns an aspect that will update this metric with the specified constant
801
+ * value every time the aspect is applied to an effect, regardless of whether
802
+ * that effect fails or succeeds.
803
+ *
804
+ * @since 2.0.0
805
+ * @category aspects
806
+ */
537
807
  <Type, In, Out>(
538
808
  self: Metric<Type, In, Out>,
539
809
  input: In
@@ -548,7 +818,21 @@ export const trackAll: {
548
818
  * @category aspects
549
819
  */
550
820
  export const trackDefect: {
821
+ /**
822
+ * Returns an aspect that will update this metric with the defects of the
823
+ * effects that it is applied to.
824
+ *
825
+ * @since 2.0.0
826
+ * @category aspects
827
+ */
551
828
  <Type, Out>(metric: Metric<Type, unknown, Out>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
829
+ /**
830
+ * Returns an aspect that will update this metric with the defects of the
831
+ * effects that it is applied to.
832
+ *
833
+ * @since 2.0.0
834
+ * @category aspects
835
+ */
552
836
  <A, E, R, Type, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, unknown, Out>): Effect.Effect<A, E, R>
553
837
  } = internal.trackDefect
554
838
 
@@ -561,10 +845,26 @@ export const trackDefect: {
561
845
  * @category aspects
562
846
  */
563
847
  export const trackDefectWith: {
848
+ /**
849
+ * Returns an aspect that will update this metric with the result of applying
850
+ * the specified function to the defect throwables of the effects that the
851
+ * aspect is applied to.
852
+ *
853
+ * @since 2.0.0
854
+ * @category aspects
855
+ */
564
856
  <Type, In, Out>(
565
857
  metric: Metric<Type, In, Out>,
566
858
  f: (defect: unknown) => In
567
859
  ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
860
+ /**
861
+ * Returns an aspect that will update this metric with the result of applying
862
+ * the specified function to the defect throwables of the effects that the
863
+ * aspect is applied to.
864
+ *
865
+ * @since 2.0.0
866
+ * @category aspects
867
+ */
568
868
  <A, E, R, Type, In, Out>(
569
869
  self: Effect.Effect<A, E, R>,
570
870
  metric: Metric<Type, In, Out>,
@@ -581,9 +881,25 @@ export const trackDefectWith: {
581
881
  * @category aspects
582
882
  */
583
883
  export const trackDuration: {
884
+ /**
885
+ * Returns an aspect that will update this metric with the duration that the
886
+ * effect takes to execute. To call this method, the input type of the metric
887
+ * must be `Duration`.
888
+ *
889
+ * @since 2.0.0
890
+ * @category aspects
891
+ */
584
892
  <Type, Out>(
585
893
  metric: Metric<Type, Duration.Duration, Out>
586
894
  ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
895
+ /**
896
+ * Returns an aspect that will update this metric with the duration that the
897
+ * effect takes to execute. To call this method, the input type of the metric
898
+ * must be `Duration`.
899
+ *
900
+ * @since 2.0.0
901
+ * @category aspects
902
+ */
587
903
  <A, E, R, Type, Out>(
588
904
  self: Effect.Effect<A, E, R>,
589
905
  metric: Metric<Type, Duration.Duration, Out>
@@ -599,10 +915,26 @@ export const trackDuration: {
599
915
  * @category aspects
600
916
  */
601
917
  export const trackDurationWith: {
918
+ /**
919
+ * Returns an aspect that will update this metric with the duration that the
920
+ * effect takes to execute. To call this method, you must supply a function
921
+ * that can convert the `Duration` to the input type of this metric.
922
+ *
923
+ * @since 2.0.0
924
+ * @category aspects
925
+ */
602
926
  <Type, In, Out>(
603
927
  metric: Metric<Type, In, Out>,
604
928
  f: (duration: Duration.Duration) => In
605
929
  ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
930
+ /**
931
+ * Returns an aspect that will update this metric with the duration that the
932
+ * effect takes to execute. To call this method, you must supply a function
933
+ * that can convert the `Duration` to the input type of this metric.
934
+ *
935
+ * @since 2.0.0
936
+ * @category aspects
937
+ */
606
938
  <A, E, R, Type, In, Out>(
607
939
  self: Effect.Effect<A, E, R>,
608
940
  metric: Metric<Type, In, Out>,
@@ -618,9 +950,23 @@ export const trackDurationWith: {
618
950
  * @category aspects
619
951
  */
620
952
  export const trackError: {
953
+ /**
954
+ * Returns an aspect that will update this metric with the failure value of
955
+ * the effects that it is applied to.
956
+ *
957
+ * @since 2.0.0
958
+ * @category aspects
959
+ */
621
960
  <Type, In, Out>(
622
961
  metric: Metric<Type, In, Out>
623
962
  ): <A, E extends In, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
963
+ /**
964
+ * Returns an aspect that will update this metric with the failure value of
965
+ * the effects that it is applied to.
966
+ *
967
+ * @since 2.0.0
968
+ * @category aspects
969
+ */
624
970
  <A, E extends In, R, Type, In, Out>(
625
971
  self: Effect.Effect<A, E, R>,
626
972
  metric: Metric<Type, In, Out>
@@ -636,10 +982,26 @@ export const trackError: {
636
982
  * @category aspects
637
983
  */
638
984
  export const trackErrorWith: {
985
+ /**
986
+ * Returns an aspect that will update this metric with the result of applying
987
+ * the specified function to the error value of the effects that the aspect is
988
+ * applied to.
989
+ *
990
+ * @since 2.0.0
991
+ * @category aspects
992
+ */
639
993
  <Type, In, Out, In2>(
640
994
  metric: Metric<Type, In, Out>,
641
995
  f: (error: In2) => In
642
996
  ): <A, E extends In2, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
997
+ /**
998
+ * Returns an aspect that will update this metric with the result of applying
999
+ * the specified function to the error value of the effects that the aspect is
1000
+ * applied to.
1001
+ *
1002
+ * @since 2.0.0
1003
+ * @category aspects
1004
+ */
643
1005
  <A, E extends In2, R, Type, In, Out, In2>(
644
1006
  self: Effect.Effect<A, E, R>,
645
1007
  metric: Metric<Type, In, Out>,
@@ -655,9 +1017,23 @@ export const trackErrorWith: {
655
1017
  * @category aspects
656
1018
  */
657
1019
  export const trackSuccess: {
1020
+ /**
1021
+ * Returns an aspect that will update this metric with the success value of
1022
+ * the effects that it is applied to.
1023
+ *
1024
+ * @since 2.0.0
1025
+ * @category aspects
1026
+ */
658
1027
  <Type, In, Out>(
659
1028
  metric: Metric<Type, In, Out>
660
1029
  ): <A extends In, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1030
+ /**
1031
+ * Returns an aspect that will update this metric with the success value of
1032
+ * the effects that it is applied to.
1033
+ *
1034
+ * @since 2.0.0
1035
+ * @category aspects
1036
+ */
661
1037
  <A extends In, E, R, Type, In, Out>(
662
1038
  self: Effect.Effect<A, E, R>,
663
1039
  metric: Metric<Type, In, Out>
@@ -673,10 +1049,26 @@ export const trackSuccess: {
673
1049
  * @category aspects
674
1050
  */
675
1051
  export const trackSuccessWith: {
1052
+ /**
1053
+ * Returns an aspect that will update this metric with the result of applying
1054
+ * the specified function to the success value of the effects that the aspect is
1055
+ * applied to.
1056
+ *
1057
+ * @since 2.0.0
1058
+ * @category aspects
1059
+ */
676
1060
  <Type, In, Out, In2>(
677
1061
  metric: Metric<Type, In, Out>,
678
1062
  f: (value: In2) => In
679
1063
  ): <A extends In2, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1064
+ /**
1065
+ * Returns an aspect that will update this metric with the result of applying
1066
+ * the specified function to the success value of the effects that the aspect is
1067
+ * applied to.
1068
+ *
1069
+ * @since 2.0.0
1070
+ * @category aspects
1071
+ */
680
1072
  <A extends In2, E, R, Type, In, Out, In2>(
681
1073
  self: Effect.Effect<A, E, R>,
682
1074
  metric: Metric<Type, In, Out>,
@@ -693,7 +1085,23 @@ export const trackSuccessWith: {
693
1085
  * @category utils
694
1086
  */
695
1087
  export const update: {
1088
+ /**
1089
+ * Updates the metric with the specified update message. For example, if the
1090
+ * metric were a counter, the update would increment the method by the
1091
+ * provided amount.
1092
+ *
1093
+ * @since 2.0.0
1094
+ * @category utils
1095
+ */
696
1096
  <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
1097
+ /**
1098
+ * Updates the metric with the specified update message. For example, if the
1099
+ * metric were a counter, the update would increment the method by the
1100
+ * provided amount.
1101
+ *
1102
+ * @since 2.0.0
1103
+ * @category utils
1104
+ */
697
1105
  <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
698
1106
  } = internal.update
699
1107
 
@@ -717,19 +1125,22 @@ export const withNow: <Type, In, Out>(self: Metric<Type, readonly [In, number],
717
1125
  * @category zipping
718
1126
  */
719
1127
  export const zip: {
720
- <Type2, In2, Out2>(
721
- that: Metric<Type2, In2, Out2>
722
- ): <Type, In, Out>(
1128
+ /**
1129
+ * @since 2.0.0
1130
+ * @category zipping
1131
+ */
1132
+ <Type2, In2, Out2>(that: Metric<Type2, In2, Out2>): <Type, In, Out>(
723
1133
  self: Metric<Type, In, Out>
724
1134
  ) => Metric<
725
1135
  readonly [Type, Type2], // readonly because invariant
726
1136
  readonly [In, In2], // readonly because contravariant
727
1137
  [Out, Out2]
728
1138
  >
729
- <Type, In, Out, Type2, In2, Out2>(
730
- self: Metric<Type, In, Out>,
731
- that: Metric<Type2, In2, Out2>
732
- ): Metric<
1139
+ /**
1140
+ * @since 2.0.0
1141
+ * @category zipping
1142
+ */
1143
+ <Type, In, Out, Type2, In2, Out2>(self: Metric<Type, In, Out>, that: Metric<Type2, In2, Out2>): Metric<
733
1144
  readonly [Type, Type2], // readonly because invariant
734
1145
  readonly [In, In2], // readonly because contravariant
735
1146
  [Out, Out2]
package/src/MetricHook.ts CHANGED
@@ -116,7 +116,15 @@ export const frequency: (_key: MetricKey.MetricKey.Frequency) => MetricHook.Freq
116
116
  * @category constructors
117
117
  */
118
118
  export const gauge: {
119
+ /**
120
+ * @since 2.0.0
121
+ * @category constructors
122
+ */
119
123
  (key: MetricKey.MetricKey.Gauge<number>, startAt: number): MetricHook.Gauge<number>
124
+ /**
125
+ * @since 2.0.0
126
+ * @category constructors
127
+ */
120
128
  (key: MetricKey.MetricKey.Gauge<bigint>, startAt: bigint): MetricHook.Gauge<bigint>
121
129
  } = internal.gauge
122
130
 
@@ -137,7 +145,15 @@ export const summary: (key: MetricKey.MetricKey.Summary) => MetricHook.Summary =
137
145
  * @category utils
138
146
  */
139
147
  export const onUpdate: {
148
+ /**
149
+ * @since 2.0.0
150
+ * @category utils
151
+ */
140
152
  <In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
153
+ /**
154
+ * @since 2.0.0
155
+ * @category utils
156
+ */
141
157
  <In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
142
158
  } = internal.onUpdate
143
159
 
@@ -146,6 +162,14 @@ export const onUpdate: {
146
162
  * @category utils
147
163
  */
148
164
  export const onModify: {
165
+ /**
166
+ * @since 3.6.5
167
+ * @category utils
168
+ */
149
169
  <In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
170
+ /**
171
+ * @since 3.6.5
172
+ * @category utils
173
+ */
150
174
  <In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
151
175
  } = internal.onModify