@clayroach/effect 3.19.14-source-capture.8 → 3.19.14-source-trace.2

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 (452) hide show
  1. package/SourceLocation/package.json +6 -0
  2. package/dist/cjs/Effect.js +2 -28
  3. package/dist/cjs/Effect.js.map +1 -1
  4. package/dist/cjs/FiberRef.js +12 -1
  5. package/dist/cjs/FiberRef.js.map +1 -1
  6. package/dist/cjs/Layer.js +2 -24
  7. package/dist/cjs/Layer.js.map +1 -1
  8. package/dist/cjs/RuntimeFlags.js +1 -29
  9. package/dist/cjs/RuntimeFlags.js.map +1 -1
  10. package/dist/cjs/SourceLocation.js +60 -0
  11. package/dist/cjs/SourceLocation.js.map +1 -0
  12. package/dist/cjs/Tracer.js +1 -15
  13. package/dist/cjs/Tracer.js.map +1 -1
  14. package/dist/cjs/Utils.js +1 -1
  15. package/dist/cjs/Utils.js.map +1 -1
  16. package/dist/cjs/index.js +3 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/internal/clock.js +1 -1
  19. package/dist/cjs/internal/clock.js.map +1 -1
  20. package/dist/cjs/internal/core.js +17 -50
  21. package/dist/cjs/internal/core.js.map +1 -1
  22. package/dist/cjs/internal/effect/circular.js +18 -30
  23. package/dist/cjs/internal/effect/circular.js.map +1 -1
  24. package/dist/cjs/internal/fiberRuntime.js +16 -65
  25. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  26. package/dist/cjs/internal/layer/circular.js +1 -5
  27. package/dist/cjs/internal/layer/circular.js.map +1 -1
  28. package/dist/cjs/internal/layer.js +1 -3
  29. package/dist/cjs/internal/layer.js.map +1 -1
  30. package/dist/cjs/internal/logger.js +25 -2
  31. package/dist/cjs/internal/logger.js.map +1 -1
  32. package/dist/cjs/internal/runtimeFlags.js +2 -11
  33. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  34. package/dist/cjs/internal/tracer.js +1 -114
  35. package/dist/cjs/internal/tracer.js.map +1 -1
  36. package/dist/dts/Config.d.ts +2 -2
  37. package/dist/dts/Config.d.ts.map +1 -1
  38. package/dist/dts/Effect.d.ts +8 -29
  39. package/dist/dts/Effect.d.ts.map +1 -1
  40. package/dist/dts/FiberRef.d.ts +12 -0
  41. package/dist/dts/FiberRef.d.ts.map +1 -1
  42. package/dist/dts/Layer.d.ts +0 -22
  43. package/dist/dts/Layer.d.ts.map +1 -1
  44. package/dist/dts/RuntimeFlags.d.ts +0 -28
  45. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  46. package/dist/dts/SourceLocation.d.ts +88 -0
  47. package/dist/dts/SourceLocation.d.ts.map +1 -0
  48. package/dist/dts/Tracer.d.ts +0 -15
  49. package/dist/dts/Tracer.d.ts.map +1 -1
  50. package/dist/dts/index.d.ts +6 -0
  51. package/dist/dts/index.d.ts.map +1 -1
  52. package/dist/dts/internal/core.d.ts.map +1 -1
  53. package/dist/dts/internal/layer.d.ts.map +1 -1
  54. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  55. package/dist/esm/Effect.js +0 -26
  56. package/dist/esm/Effect.js.map +1 -1
  57. package/dist/esm/FiberRef.js +11 -0
  58. package/dist/esm/FiberRef.js.map +1 -1
  59. package/dist/esm/Layer.js +0 -22
  60. package/dist/esm/Layer.js.map +1 -1
  61. package/dist/esm/RuntimeFlags.js +0 -28
  62. package/dist/esm/RuntimeFlags.js.map +1 -1
  63. package/dist/esm/SourceLocation.js +51 -0
  64. package/dist/esm/SourceLocation.js.map +1 -0
  65. package/dist/esm/Tracer.js +0 -14
  66. package/dist/esm/Tracer.js.map +1 -1
  67. package/dist/esm/Utils.js +1 -1
  68. package/dist/esm/Utils.js.map +1 -1
  69. package/dist/esm/index.js +6 -0
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/internal/clock.js +1 -1
  72. package/dist/esm/internal/clock.js.map +1 -1
  73. package/dist/esm/internal/core.js +12 -45
  74. package/dist/esm/internal/core.js.map +1 -1
  75. package/dist/esm/internal/effect/circular.js +18 -30
  76. package/dist/esm/internal/effect/circular.js.map +1 -1
  77. package/dist/esm/internal/fiberRuntime.js +13 -60
  78. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  79. package/dist/esm/internal/layer/circular.js +0 -4
  80. package/dist/esm/internal/layer/circular.js.map +1 -1
  81. package/dist/esm/internal/layer.js +0 -2
  82. package/dist/esm/internal/layer.js.map +1 -1
  83. package/dist/esm/internal/logger.js +25 -2
  84. package/dist/esm/internal/logger.js.map +1 -1
  85. package/dist/esm/internal/runtimeFlags.js +1 -9
  86. package/dist/esm/internal/runtimeFlags.js.map +1 -1
  87. package/dist/esm/internal/tracer.js +0 -111
  88. package/dist/esm/internal/tracer.js.map +1 -1
  89. package/package.json +12 -1
  90. package/src/Arbitrary.ts +1101 -0
  91. package/src/Array.ts +3589 -0
  92. package/src/BigDecimal.ts +1349 -0
  93. package/src/BigInt.ts +643 -0
  94. package/src/Boolean.ts +287 -0
  95. package/src/Brand.ts +360 -0
  96. package/src/Cache.ts +281 -0
  97. package/src/Cause.ts +1555 -0
  98. package/src/Channel.ts +2355 -0
  99. package/src/ChildExecutorDecision.ts +146 -0
  100. package/src/Chunk.ts +1495 -0
  101. package/src/Clock.ts +111 -0
  102. package/src/Config.ts +542 -0
  103. package/src/ConfigError.ts +270 -0
  104. package/src/ConfigProvider.ts +333 -0
  105. package/src/ConfigProviderPathPatch.ts +100 -0
  106. package/src/Console.ts +226 -0
  107. package/src/Context.ts +585 -0
  108. package/src/Cron.ts +706 -0
  109. package/src/Data.ts +596 -0
  110. package/src/DateTime.ts +1686 -0
  111. package/src/DefaultServices.ts +34 -0
  112. package/src/Deferred.ts +301 -0
  113. package/src/Differ.ts +450 -0
  114. package/src/Duration.ts +1000 -0
  115. package/src/Effect.ts +14817 -0
  116. package/src/Effectable.ts +107 -0
  117. package/src/Either.ts +1040 -0
  118. package/src/Encoding.ts +195 -0
  119. package/src/Equal.ts +98 -0
  120. package/src/Equivalence.ts +235 -0
  121. package/src/ExecutionPlan.ts +308 -0
  122. package/src/ExecutionStrategy.ts +119 -0
  123. package/src/Exit.ts +467 -0
  124. package/src/FastCheck.ts +9 -0
  125. package/src/Fiber.ts +744 -0
  126. package/src/FiberHandle.ts +540 -0
  127. package/src/FiberId.ts +195 -0
  128. package/src/FiberMap.ts +656 -0
  129. package/src/FiberRef.ts +444 -0
  130. package/src/FiberRefs.ts +204 -0
  131. package/src/FiberRefsPatch.ts +105 -0
  132. package/src/FiberSet.ts +491 -0
  133. package/src/FiberStatus.ts +108 -0
  134. package/src/Function.ts +1222 -0
  135. package/src/GlobalValue.ts +53 -0
  136. package/src/Graph.ts +3732 -0
  137. package/src/GroupBy.ts +103 -0
  138. package/src/HKT.ts +45 -0
  139. package/src/Hash.ts +195 -0
  140. package/src/HashMap.ts +519 -0
  141. package/src/HashRing.ts +317 -0
  142. package/src/HashSet.ts +2346 -0
  143. package/src/Inspectable.ts +287 -0
  144. package/src/Iterable.ts +1119 -0
  145. package/src/JSONSchema.ts +1044 -0
  146. package/src/KeyedPool.ts +167 -0
  147. package/src/Layer.ts +1228 -0
  148. package/src/LayerMap.ts +436 -0
  149. package/src/List.ts +977 -0
  150. package/src/LogLevel.ts +285 -0
  151. package/src/LogSpan.ts +25 -0
  152. package/src/Logger.ts +702 -0
  153. package/src/Mailbox.ts +268 -0
  154. package/src/ManagedRuntime.ts +180 -0
  155. package/src/Match.ts +1477 -0
  156. package/src/MergeDecision.ts +95 -0
  157. package/src/MergeState.ts +172 -0
  158. package/src/MergeStrategy.ts +107 -0
  159. package/src/Metric.ts +780 -0
  160. package/src/MetricBoundaries.ts +69 -0
  161. package/src/MetricHook.ts +151 -0
  162. package/src/MetricKey.ts +224 -0
  163. package/src/MetricKeyType.ts +262 -0
  164. package/src/MetricLabel.ts +47 -0
  165. package/src/MetricPair.ts +71 -0
  166. package/src/MetricPolling.ts +148 -0
  167. package/src/MetricRegistry.ts +48 -0
  168. package/src/MetricState.ts +257 -0
  169. package/src/Micro.ts +4405 -0
  170. package/src/ModuleVersion.ts +18 -0
  171. package/src/MutableHashMap.ts +411 -0
  172. package/src/MutableHashSet.ts +706 -0
  173. package/src/MutableList.ts +297 -0
  174. package/src/MutableQueue.ts +227 -0
  175. package/src/MutableRef.ts +202 -0
  176. package/src/NonEmptyIterable.ts +32 -0
  177. package/src/Number.ts +1071 -0
  178. package/src/Option.ts +2170 -0
  179. package/src/Order.ts +373 -0
  180. package/src/Ordering.ts +111 -0
  181. package/src/ParseResult.ts +2031 -0
  182. package/src/PartitionedSemaphore.ts +200 -0
  183. package/src/Pipeable.ts +566 -0
  184. package/src/Pool.ts +204 -0
  185. package/src/Predicate.ts +1405 -0
  186. package/src/Pretty.ts +205 -0
  187. package/src/PrimaryKey.ts +23 -0
  188. package/src/PubSub.ts +182 -0
  189. package/src/Queue.ts +644 -0
  190. package/src/Random.ts +204 -0
  191. package/src/RateLimiter.ts +138 -0
  192. package/src/RcMap.ts +141 -0
  193. package/src/RcRef.ts +122 -0
  194. package/src/Readable.ts +93 -0
  195. package/src/Record.ts +1274 -0
  196. package/src/RedBlackTree.ts +421 -0
  197. package/src/Redacted.ts +144 -0
  198. package/src/Ref.ts +180 -0
  199. package/src/RegExp.ts +38 -0
  200. package/src/Reloadable.ts +127 -0
  201. package/src/Request.ts +347 -0
  202. package/src/RequestBlock.ts +118 -0
  203. package/src/RequestResolver.ts +366 -0
  204. package/src/Resource.ts +119 -0
  205. package/src/Runtime.ts +383 -0
  206. package/src/RuntimeFlags.ts +336 -0
  207. package/src/RuntimeFlagsPatch.ts +183 -0
  208. package/src/STM.ts +2045 -0
  209. package/src/Schedule.ts +2219 -0
  210. package/src/ScheduleDecision.ts +62 -0
  211. package/src/ScheduleInterval.ts +151 -0
  212. package/src/ScheduleIntervals.ts +122 -0
  213. package/src/Scheduler.ts +353 -0
  214. package/src/Schema.ts +10914 -0
  215. package/src/SchemaAST.ts +3043 -0
  216. package/src/Scope.ts +204 -0
  217. package/src/ScopedCache.ts +151 -0
  218. package/src/ScopedRef.ts +117 -0
  219. package/src/Secret.ts +88 -0
  220. package/src/SingleProducerAsyncInput.ts +67 -0
  221. package/src/Sink.ts +1461 -0
  222. package/src/SortedMap.ts +287 -0
  223. package/src/SortedSet.ts +390 -0
  224. package/src/SourceLocation.ts +108 -0
  225. package/src/Stream.ts +6468 -0
  226. package/src/StreamEmit.ts +136 -0
  227. package/src/StreamHaltStrategy.ts +123 -0
  228. package/src/Streamable.ts +45 -0
  229. package/src/String.ts +778 -0
  230. package/src/Struct.ts +243 -0
  231. package/src/Subscribable.ts +100 -0
  232. package/src/SubscriptionRef.ts +298 -0
  233. package/src/Supervisor.ts +240 -0
  234. package/src/Symbol.ts +29 -0
  235. package/src/SynchronizedRef.ts +270 -0
  236. package/src/TArray.ts +495 -0
  237. package/src/TDeferred.ts +100 -0
  238. package/src/TMap.ts +515 -0
  239. package/src/TPriorityQueue.ts +223 -0
  240. package/src/TPubSub.ts +200 -0
  241. package/src/TQueue.ts +432 -0
  242. package/src/TRandom.ts +129 -0
  243. package/src/TReentrantLock.ts +224 -0
  244. package/src/TRef.ts +178 -0
  245. package/src/TSemaphore.ts +129 -0
  246. package/src/TSet.ts +365 -0
  247. package/src/TSubscriptionRef.ts +192 -0
  248. package/src/Take.ts +258 -0
  249. package/src/TestAnnotation.ts +158 -0
  250. package/src/TestAnnotationMap.ts +119 -0
  251. package/src/TestAnnotations.ts +117 -0
  252. package/src/TestClock.ts +556 -0
  253. package/src/TestConfig.ts +47 -0
  254. package/src/TestContext.ts +36 -0
  255. package/src/TestLive.ts +53 -0
  256. package/src/TestServices.ts +390 -0
  257. package/src/TestSized.ts +55 -0
  258. package/src/Tracer.ts +182 -0
  259. package/src/Trie.ts +840 -0
  260. package/src/Tuple.ts +305 -0
  261. package/src/Types.ts +353 -0
  262. package/src/Unify.ts +113 -0
  263. package/src/UpstreamPullRequest.ts +117 -0
  264. package/src/UpstreamPullStrategy.ts +121 -0
  265. package/src/Utils.ts +809 -0
  266. package/src/index.ts +1568 -0
  267. package/src/internal/array.ts +8 -0
  268. package/src/internal/blockedRequests.ts +520 -0
  269. package/src/internal/cache.ts +733 -0
  270. package/src/internal/cause.ts +1050 -0
  271. package/src/internal/channel/channelExecutor.ts +1200 -0
  272. package/src/internal/channel/channelState.ts +134 -0
  273. package/src/internal/channel/childExecutorDecision.ts +96 -0
  274. package/src/internal/channel/continuation.ts +200 -0
  275. package/src/internal/channel/mergeDecision.ts +113 -0
  276. package/src/internal/channel/mergeState.ts +120 -0
  277. package/src/internal/channel/mergeStrategy.ts +72 -0
  278. package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
  279. package/src/internal/channel/subexecutor.ts +229 -0
  280. package/src/internal/channel/upstreamPullRequest.ts +84 -0
  281. package/src/internal/channel/upstreamPullStrategy.ts +87 -0
  282. package/src/internal/channel.ts +2603 -0
  283. package/src/internal/clock.ts +95 -0
  284. package/src/internal/completedRequestMap.ts +9 -0
  285. package/src/internal/concurrency.ts +54 -0
  286. package/src/internal/config.ts +716 -0
  287. package/src/internal/configError.ts +304 -0
  288. package/src/internal/configProvider/pathPatch.ts +97 -0
  289. package/src/internal/configProvider.ts +799 -0
  290. package/src/internal/console.ts +153 -0
  291. package/src/internal/context.ts +337 -0
  292. package/src/internal/core-effect.ts +2293 -0
  293. package/src/internal/core-stream.ts +998 -0
  294. package/src/internal/core.ts +3189 -0
  295. package/src/internal/data.ts +36 -0
  296. package/src/internal/dataSource.ts +327 -0
  297. package/src/internal/dateTime.ts +1277 -0
  298. package/src/internal/defaultServices/console.ts +100 -0
  299. package/src/internal/defaultServices.ts +163 -0
  300. package/src/internal/deferred.ts +46 -0
  301. package/src/internal/differ/chunkPatch.ts +211 -0
  302. package/src/internal/differ/contextPatch.ts +232 -0
  303. package/src/internal/differ/hashMapPatch.ts +220 -0
  304. package/src/internal/differ/hashSetPatch.ts +176 -0
  305. package/src/internal/differ/orPatch.ts +311 -0
  306. package/src/internal/differ/readonlyArrayPatch.ts +210 -0
  307. package/src/internal/differ.ts +200 -0
  308. package/src/internal/doNotation.ts +80 -0
  309. package/src/internal/effect/circular.ts +895 -0
  310. package/src/internal/effectable.ts +131 -0
  311. package/src/internal/either.ts +110 -0
  312. package/src/internal/encoding/base64.ts +286 -0
  313. package/src/internal/encoding/base64Url.ts +29 -0
  314. package/src/internal/encoding/common.ts +51 -0
  315. package/src/internal/encoding/hex.ts +315 -0
  316. package/src/internal/errors.ts +7 -0
  317. package/src/internal/executionPlan.ts +114 -0
  318. package/src/internal/executionStrategy.ts +74 -0
  319. package/src/internal/fiber.ts +388 -0
  320. package/src/internal/fiberId.ts +267 -0
  321. package/src/internal/fiberMessage.ts +82 -0
  322. package/src/internal/fiberRefs/patch.ts +144 -0
  323. package/src/internal/fiberRefs.ts +297 -0
  324. package/src/internal/fiberRuntime.ts +3842 -0
  325. package/src/internal/fiberScope.ts +71 -0
  326. package/src/internal/fiberStatus.ts +119 -0
  327. package/src/internal/groupBy.ts +530 -0
  328. package/src/internal/hashMap/array.ts +49 -0
  329. package/src/internal/hashMap/bitwise.ts +32 -0
  330. package/src/internal/hashMap/config.ts +14 -0
  331. package/src/internal/hashMap/keySet.ts +8 -0
  332. package/src/internal/hashMap/node.ts +391 -0
  333. package/src/internal/hashMap.ts +586 -0
  334. package/src/internal/hashSet.ts +323 -0
  335. package/src/internal/keyedPool.ts +244 -0
  336. package/src/internal/layer/circular.ts +214 -0
  337. package/src/internal/layer.ts +1483 -0
  338. package/src/internal/logSpan.ts +20 -0
  339. package/src/internal/logger-circular.ts +24 -0
  340. package/src/internal/logger.ts +522 -0
  341. package/src/internal/mailbox.ts +561 -0
  342. package/src/internal/managedRuntime/circular.ts +6 -0
  343. package/src/internal/managedRuntime.ts +134 -0
  344. package/src/internal/matcher.ts +652 -0
  345. package/src/internal/metric/boundaries.ts +75 -0
  346. package/src/internal/metric/hook.ts +483 -0
  347. package/src/internal/metric/key.ts +167 -0
  348. package/src/internal/metric/keyType.ts +238 -0
  349. package/src/internal/metric/label.ts +41 -0
  350. package/src/internal/metric/pair.ts +48 -0
  351. package/src/internal/metric/polling.ts +149 -0
  352. package/src/internal/metric/registry.ts +187 -0
  353. package/src/internal/metric/state.ts +290 -0
  354. package/src/internal/metric.ts +577 -0
  355. package/src/internal/opCodes/cause.ts +35 -0
  356. package/src/internal/opCodes/channel.ts +83 -0
  357. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  358. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  359. package/src/internal/opCodes/channelMergeState.ts +17 -0
  360. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  361. package/src/internal/opCodes/channelState.ts +23 -0
  362. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  363. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  364. package/src/internal/opCodes/config.ts +65 -0
  365. package/src/internal/opCodes/configError.ts +35 -0
  366. package/src/internal/opCodes/continuation.ts +11 -0
  367. package/src/internal/opCodes/deferred.ts +11 -0
  368. package/src/internal/opCodes/effect.ts +89 -0
  369. package/src/internal/opCodes/layer.ts +59 -0
  370. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  371. package/src/internal/option.ts +80 -0
  372. package/src/internal/pool.ts +432 -0
  373. package/src/internal/pubsub.ts +1762 -0
  374. package/src/internal/query.ts +204 -0
  375. package/src/internal/queue.ts +766 -0
  376. package/src/internal/random.ts +161 -0
  377. package/src/internal/rateLimiter.ts +93 -0
  378. package/src/internal/rcMap.ts +285 -0
  379. package/src/internal/rcRef.ts +192 -0
  380. package/src/internal/redBlackTree/iterator.ts +200 -0
  381. package/src/internal/redBlackTree/node.ts +68 -0
  382. package/src/internal/redBlackTree.ts +1245 -0
  383. package/src/internal/redacted.ts +73 -0
  384. package/src/internal/ref.ts +171 -0
  385. package/src/internal/reloadable.ts +140 -0
  386. package/src/internal/request.ts +177 -0
  387. package/src/internal/resource.ts +76 -0
  388. package/src/internal/ringBuffer.ts +68 -0
  389. package/src/internal/runtime.ts +558 -0
  390. package/src/internal/runtimeFlags.ts +178 -0
  391. package/src/internal/runtimeFlagsPatch.ts +103 -0
  392. package/src/internal/schedule/decision.ts +47 -0
  393. package/src/internal/schedule/interval.ts +101 -0
  394. package/src/internal/schedule/intervals.ts +180 -0
  395. package/src/internal/schedule.ts +2199 -0
  396. package/src/internal/schema/errors.ts +191 -0
  397. package/src/internal/schema/schemaId.ts +106 -0
  398. package/src/internal/schema/util.ts +50 -0
  399. package/src/internal/scopedCache.ts +644 -0
  400. package/src/internal/scopedRef.ts +118 -0
  401. package/src/internal/secret.ts +89 -0
  402. package/src/internal/singleShotGen.ts +35 -0
  403. package/src/internal/sink.ts +2120 -0
  404. package/src/internal/stack.ts +10 -0
  405. package/src/internal/stm/core.ts +817 -0
  406. package/src/internal/stm/entry.ts +59 -0
  407. package/src/internal/stm/journal.ts +123 -0
  408. package/src/internal/stm/opCodes/stm.ts +71 -0
  409. package/src/internal/stm/opCodes/stmState.ts +17 -0
  410. package/src/internal/stm/opCodes/strategy.ts +17 -0
  411. package/src/internal/stm/opCodes/tExit.ts +29 -0
  412. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  413. package/src/internal/stm/stm.ts +1453 -0
  414. package/src/internal/stm/stmState.ts +136 -0
  415. package/src/internal/stm/tArray.ts +550 -0
  416. package/src/internal/stm/tDeferred.ts +81 -0
  417. package/src/internal/stm/tExit.ts +190 -0
  418. package/src/internal/stm/tMap.ts +824 -0
  419. package/src/internal/stm/tPriorityQueue.ts +267 -0
  420. package/src/internal/stm/tPubSub.ts +551 -0
  421. package/src/internal/stm/tQueue.ts +393 -0
  422. package/src/internal/stm/tRandom.ts +140 -0
  423. package/src/internal/stm/tReentrantLock.ts +352 -0
  424. package/src/internal/stm/tRef.ts +195 -0
  425. package/src/internal/stm/tSemaphore.ts +113 -0
  426. package/src/internal/stm/tSet.ts +259 -0
  427. package/src/internal/stm/tSubscriptionRef.ts +286 -0
  428. package/src/internal/stm/tryCommit.ts +34 -0
  429. package/src/internal/stm/txnId.ts +14 -0
  430. package/src/internal/stm/versioned.ts +4 -0
  431. package/src/internal/stream/debounceState.ts +57 -0
  432. package/src/internal/stream/emit.ts +123 -0
  433. package/src/internal/stream/haltStrategy.ts +94 -0
  434. package/src/internal/stream/handoff.ts +187 -0
  435. package/src/internal/stream/handoffSignal.ts +59 -0
  436. package/src/internal/stream/pull.ts +34 -0
  437. package/src/internal/stream/sinkEndReason.ts +30 -0
  438. package/src/internal/stream/zipAllState.ts +88 -0
  439. package/src/internal/stream/zipChunksState.ts +56 -0
  440. package/src/internal/stream.ts +8801 -0
  441. package/src/internal/string-utils.ts +107 -0
  442. package/src/internal/subscriptionRef.ts +138 -0
  443. package/src/internal/supervisor/patch.ts +190 -0
  444. package/src/internal/supervisor.ts +303 -0
  445. package/src/internal/synchronizedRef.ts +114 -0
  446. package/src/internal/take.ts +199 -0
  447. package/src/internal/testing/sleep.ts +27 -0
  448. package/src/internal/testing/suspendedWarningData.ts +85 -0
  449. package/src/internal/testing/warningData.ts +94 -0
  450. package/src/internal/tracer.ts +150 -0
  451. package/src/internal/trie.ts +722 -0
  452. package/src/internal/version.ts +7 -0
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Equal from "./Equal.js"
5
+ import * as internal from "./internal/metric/boundaries.js"
6
+ import type { Pipeable } from "./Pipeable.js"
7
+
8
+ /**
9
+ * @since 2.0.0
10
+ * @category symbols
11
+ */
12
+ export const MetricBoundariesTypeId: unique symbol = internal.MetricBoundariesTypeId
13
+
14
+ /**
15
+ * @since 2.0.0
16
+ * @category symbols
17
+ */
18
+ export type MetricBoundariesTypeId = typeof MetricBoundariesTypeId
19
+
20
+ /**
21
+ * @since 2.0.0
22
+ * @category models
23
+ */
24
+ export interface MetricBoundaries extends Equal.Equal, Pipeable {
25
+ readonly [MetricBoundariesTypeId]: MetricBoundariesTypeId
26
+ readonly values: ReadonlyArray<number>
27
+ }
28
+
29
+ /**
30
+ * @since 2.0.0
31
+ * @category refinements
32
+ */
33
+ export const isMetricBoundaries: (u: unknown) => u is MetricBoundaries = internal.isMetricBoundaries
34
+
35
+ /**
36
+ * @since 2.0.0
37
+ * @category constructors
38
+ */
39
+ export const fromIterable: (iterable: Iterable<number>) => MetricBoundaries = internal.fromIterable
40
+
41
+ /**
42
+ * A helper method to create histogram bucket boundaries for a histogram
43
+ * with linear increasing values.
44
+ *
45
+ * @since 2.0.0
46
+ * @category constructors
47
+ */
48
+ export const linear: (
49
+ options: {
50
+ readonly start: number
51
+ readonly width: number
52
+ readonly count: number
53
+ }
54
+ ) => MetricBoundaries = internal.linear
55
+
56
+ /**
57
+ * A helper method to create histogram bucket boundaries for a histogram
58
+ * with exponentially increasing values.
59
+ *
60
+ * @since 2.0.0
61
+ * @category constructors
62
+ */
63
+ export const exponential: (
64
+ options: {
65
+ readonly start: number
66
+ readonly factor: number
67
+ readonly count: number
68
+ }
69
+ ) => MetricBoundaries = internal.exponential
@@ -0,0 +1,151 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type { LazyArg } from "./Function.js"
5
+ import * as internal from "./internal/metric/hook.js"
6
+ import type * as MetricKey from "./MetricKey.js"
7
+ import type * as MetricState from "./MetricState.js"
8
+ import type { Pipeable } from "./Pipeable.js"
9
+ import type * as Types from "./Types.js"
10
+
11
+ /**
12
+ * @since 2.0.0
13
+ * @category symbols
14
+ */
15
+ export const MetricHookTypeId: unique symbol = internal.MetricHookTypeId
16
+
17
+ /**
18
+ * @since 2.0.0
19
+ * @category symbols
20
+ */
21
+ export type MetricHookTypeId = typeof MetricHookTypeId
22
+
23
+ /**
24
+ * @since 2.0.0
25
+ * @category models
26
+ */
27
+ export interface MetricHook<in In, out Out> extends MetricHook.Variance<In, Out>, Pipeable {
28
+ get(): Out
29
+ update(input: In): void
30
+ modify(input: In): void
31
+ }
32
+
33
+ /**
34
+ * @since 2.0.0
35
+ */
36
+ export declare namespace MetricHook {
37
+ /**
38
+ * @since 2.0.0
39
+ * @category models
40
+ */
41
+ export type Root = MetricHook<any, MetricState.MetricState.Untyped>
42
+
43
+ /**
44
+ * @since 2.0.0
45
+ * @category models
46
+ */
47
+ export type Untyped = MetricHook<any, any>
48
+
49
+ /**
50
+ * @since 2.0.0
51
+ * @category models
52
+ */
53
+ export type Counter<A extends (number | bigint)> = MetricHook<A, MetricState.MetricState.Counter<A>>
54
+
55
+ /**
56
+ * @since 2.0.0
57
+ * @category models
58
+ */
59
+ export type Gauge<A extends (number | bigint)> = MetricHook<A, MetricState.MetricState.Gauge<A>>
60
+
61
+ /**
62
+ * @since 2.0.0
63
+ * @category models
64
+ */
65
+ export type Frequency = MetricHook<string, MetricState.MetricState.Frequency>
66
+
67
+ /**
68
+ * @since 2.0.0
69
+ * @category models
70
+ */
71
+ export type Histogram = MetricHook<number, MetricState.MetricState.Histogram>
72
+
73
+ /**
74
+ * @since 2.0.0
75
+ * @category models
76
+ */
77
+ export type Summary = MetricHook<readonly [number, number], MetricState.MetricState.Summary>
78
+
79
+ /**
80
+ * @since 2.0.0
81
+ * @category models
82
+ */
83
+ export interface Variance<in In, out Out> {
84
+ readonly [MetricHookTypeId]: {
85
+ readonly _In: Types.Contravariant<In>
86
+ readonly _Out: Types.Covariant<Out>
87
+ }
88
+ }
89
+ }
90
+
91
+ /**
92
+ * @since 2.0.0
93
+ * @category constructors
94
+ */
95
+ export const make: <In, Out>(options: {
96
+ readonly get: LazyArg<Out>
97
+ readonly update: (input: In) => void
98
+ readonly modify: (input: In) => void
99
+ }) => MetricHook<In, Out> = internal.make
100
+
101
+ /**
102
+ * @since 2.0.0
103
+ * @category constructors
104
+ */
105
+ export const counter: <A extends (number | bigint)>(key: MetricKey.MetricKey.Counter<A>) => MetricHook.Counter<A> =
106
+ internal.counter
107
+
108
+ /**
109
+ * @since 2.0.0
110
+ * @category constructors
111
+ */
112
+ export const frequency: (_key: MetricKey.MetricKey.Frequency) => MetricHook.Frequency = internal.frequency
113
+
114
+ /**
115
+ * @since 2.0.0
116
+ * @category constructors
117
+ */
118
+ export const gauge: {
119
+ (key: MetricKey.MetricKey.Gauge<number>, startAt: number): MetricHook.Gauge<number>
120
+ (key: MetricKey.MetricKey.Gauge<bigint>, startAt: bigint): MetricHook.Gauge<bigint>
121
+ } = internal.gauge
122
+
123
+ /**
124
+ * @since 2.0.0
125
+ * @category constructors
126
+ */
127
+ export const histogram: (key: MetricKey.MetricKey.Histogram) => MetricHook.Histogram = internal.histogram
128
+
129
+ /**
130
+ * @since 2.0.0
131
+ * @category constructors
132
+ */
133
+ export const summary: (key: MetricKey.MetricKey.Summary) => MetricHook.Summary = internal.summary
134
+
135
+ /**
136
+ * @since 2.0.0
137
+ * @category utils
138
+ */
139
+ export const onUpdate: {
140
+ <In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
141
+ <In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
142
+ } = internal.onUpdate
143
+
144
+ /**
145
+ * @since 3.6.5
146
+ * @category utils
147
+ */
148
+ export const onModify: {
149
+ <In, Out>(f: (input: In) => void): (self: MetricHook<In, Out>) => MetricHook<In, Out>
150
+ <In, Out>(self: MetricHook<In, Out>, f: (input: In) => void): MetricHook<In, Out>
151
+ } = internal.onModify
@@ -0,0 +1,224 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Duration from "./Duration.js"
5
+ import type * as Equal from "./Equal.js"
6
+ import * as internal from "./internal/metric/key.js"
7
+ import type * as MetricBoundaries from "./MetricBoundaries.js"
8
+ import type * as MetricKeyType from "./MetricKeyType.js"
9
+ import type * as MetricLabel from "./MetricLabel.js"
10
+ import type * as Option from "./Option.js"
11
+ import type { Pipeable } from "./Pipeable.js"
12
+ import type * as Types from "./Types.js"
13
+
14
+ /**
15
+ * @since 2.0.0
16
+ * @category symbols
17
+ */
18
+ export const MetricKeyTypeId: unique symbol = internal.MetricKeyTypeId
19
+
20
+ /**
21
+ * @since 2.0.0
22
+ * @category symbols
23
+ */
24
+ export type MetricKeyTypeId = typeof MetricKeyTypeId
25
+
26
+ /**
27
+ * A `MetricKey` is a unique key associated with each metric. The key is based
28
+ * on a combination of the metric type, the name and tags associated with the
29
+ * metric, an optional description of the key, and any other information to
30
+ * describe a metric, such as the boundaries of a histogram. In this way, it is
31
+ * impossible to ever create different metrics with conflicting keys.
32
+ *
33
+ * @since 2.0.0
34
+ * @category models
35
+ */
36
+ export interface MetricKey<out Type extends MetricKeyType.MetricKeyType<any, any>>
37
+ extends MetricKey.Variance<Type>, Equal.Equal, Pipeable
38
+ {
39
+ readonly name: string
40
+ readonly keyType: Type
41
+ readonly description: Option.Option<string>
42
+ readonly tags: ReadonlyArray<MetricLabel.MetricLabel>
43
+ }
44
+
45
+ /**
46
+ * @since 2.0.0
47
+ */
48
+ export declare namespace MetricKey {
49
+ /**
50
+ * @since 2.0.0
51
+ * @category models
52
+ */
53
+ export type Untyped = MetricKey<any>
54
+
55
+ /**
56
+ * @since 2.0.0
57
+ * @category models
58
+ */
59
+ export type Counter<A extends (number | bigint)> = MetricKey<MetricKeyType.MetricKeyType.Counter<A>>
60
+
61
+ /**
62
+ * @since 2.0.0
63
+ * @category models
64
+ */
65
+ export type Gauge<A extends (number | bigint)> = MetricKey<MetricKeyType.MetricKeyType.Gauge<A>>
66
+
67
+ /**
68
+ * @since 2.0.0
69
+ * @category models
70
+ */
71
+ export type Frequency = MetricKey<MetricKeyType.MetricKeyType.Frequency>
72
+
73
+ /**
74
+ * @since 2.0.0
75
+ * @category models
76
+ */
77
+ export type Histogram = MetricKey<MetricKeyType.MetricKeyType.Histogram>
78
+
79
+ /**
80
+ * @since 2.0.0
81
+ * @category models
82
+ */
83
+ export type Summary = MetricKey<MetricKeyType.MetricKeyType.Summary>
84
+
85
+ /**
86
+ * @since 2.0.0
87
+ * @category models
88
+ */
89
+ export interface Variance<out Type> {
90
+ readonly [MetricKeyTypeId]: {
91
+ _Type: Types.Covariant<Type>
92
+ }
93
+ }
94
+ }
95
+
96
+ /**
97
+ * @since 2.0.0
98
+ * @category refinements
99
+ */
100
+ export const isMetricKey: (u: unknown) => u is MetricKey<MetricKeyType.MetricKeyType<unknown, unknown>> =
101
+ internal.isMetricKey
102
+
103
+ /**
104
+ * Creates a metric key for a counter, with the specified name.
105
+ *
106
+ * @since 2.0.0
107
+ * @category constructors
108
+ */
109
+ export const counter: {
110
+ (
111
+ name: string,
112
+ options?: {
113
+ readonly description?: string | undefined
114
+ readonly bigint?: false | undefined
115
+ readonly incremental?: boolean | undefined
116
+ }
117
+ ): MetricKey.Counter<number>
118
+ (
119
+ name: string,
120
+ options: {
121
+ readonly description?: string | undefined
122
+ readonly bigint: true
123
+ readonly incremental?: boolean | undefined
124
+ }
125
+ ): MetricKey.Counter<bigint>
126
+ } = internal.counter
127
+
128
+ /**
129
+ * Creates a metric key for a categorical frequency table, with the specified
130
+ * name.
131
+ *
132
+ * @since 2.0.0
133
+ * @category constructors
134
+ */
135
+ export const frequency: (
136
+ name: string,
137
+ options?:
138
+ | {
139
+ readonly description?: string | undefined
140
+ readonly preregisteredWords?: ReadonlyArray<string> | undefined
141
+ }
142
+ | undefined
143
+ ) => MetricKey.Frequency = internal.frequency
144
+
145
+ /**
146
+ * Creates a metric key for a gauge, with the specified name.
147
+ *
148
+ * @since 2.0.0
149
+ * @category constructors
150
+ */
151
+ export const gauge: {
152
+ (name: string, options?: {
153
+ readonly description?: string | undefined
154
+ readonly bigint?: false | undefined
155
+ }): MetricKey.Gauge<number>
156
+ (name: string, options: {
157
+ readonly description?: string | undefined
158
+ readonly bigint: true
159
+ }): MetricKey.Gauge<bigint>
160
+ } = internal.gauge
161
+
162
+ /**
163
+ * Creates a metric key for a histogram, with the specified name and boundaries.
164
+ *
165
+ * @since 2.0.0
166
+ * @category constructors
167
+ */
168
+ export const histogram: (
169
+ name: string,
170
+ boundaries: MetricBoundaries.MetricBoundaries,
171
+ description?: string
172
+ ) => MetricKey.Histogram = internal.histogram
173
+
174
+ /**
175
+ * Creates a metric key for a summary, with the specified name, maxAge,
176
+ * maxSize, error, and quantiles.
177
+ *
178
+ * @since 2.0.0
179
+ * @category constructors
180
+ */
181
+ export const summary: (
182
+ options: {
183
+ readonly name: string
184
+ readonly maxAge: Duration.DurationInput
185
+ readonly maxSize: number
186
+ readonly error: number
187
+ readonly quantiles: ReadonlyArray<number>
188
+ readonly description?: string | undefined
189
+ }
190
+ ) => MetricKey.Summary = internal.summary
191
+
192
+ /**
193
+ * Returns a new `MetricKey` with the specified tag appended.
194
+ *
195
+ * @since 2.0.0
196
+ * @category constructors
197
+ */
198
+ export const tagged: {
199
+ (
200
+ key: string,
201
+ value: string
202
+ ): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
203
+ <Type extends MetricKeyType.MetricKeyType<any, any>>(
204
+ self: MetricKey<Type>,
205
+ key: string,
206
+ value: string
207
+ ): MetricKey<Type>
208
+ } = internal.tagged
209
+
210
+ /**
211
+ * Returns a new `MetricKey` with the specified tags appended.
212
+ *
213
+ * @since 2.0.0
214
+ * @category constructors
215
+ */
216
+ export const taggedWithLabels: {
217
+ (
218
+ extraTags: ReadonlyArray<MetricLabel.MetricLabel>
219
+ ): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
220
+ <Type extends MetricKeyType.MetricKeyType<any, any>>(
221
+ self: MetricKey<Type>,
222
+ extraTags: ReadonlyArray<MetricLabel.MetricLabel>
223
+ ): MetricKey<Type>
224
+ } = internal.taggedWithLabels
@@ -0,0 +1,262 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Duration from "./Duration.js"
5
+ import type * as Equal from "./Equal.js"
6
+ import * as internal from "./internal/metric/keyType.js"
7
+ import type * as MetricBoundaries from "./MetricBoundaries.js"
8
+ import type * as MetricState from "./MetricState.js"
9
+ import type { Pipeable } from "./Pipeable.js"
10
+ import type * as Types from "./Types.js"
11
+
12
+ /**
13
+ * @since 2.0.0
14
+ * @category symbols
15
+ */
16
+ export const MetricKeyTypeTypeId: unique symbol = internal.MetricKeyTypeTypeId
17
+
18
+ /**
19
+ * @since 2.0.0
20
+ * @category symbols
21
+ */
22
+ export type MetricKeyTypeTypeId = typeof MetricKeyTypeTypeId
23
+
24
+ /**
25
+ * @since 2.0.0
26
+ * @category symbols
27
+ */
28
+ export const CounterKeyTypeTypeId: unique symbol = internal.CounterKeyTypeTypeId
29
+
30
+ /**
31
+ * @since 2.0.0
32
+ * @category symbols
33
+ */
34
+ export type CounterKeyTypeTypeId = typeof CounterKeyTypeTypeId
35
+
36
+ /**
37
+ * @since 2.0.0
38
+ * @category symbols
39
+ */
40
+ export const FrequencyKeyTypeTypeId: unique symbol = internal.FrequencyKeyTypeTypeId
41
+
42
+ /**
43
+ * @since 2.0.0
44
+ * @category symbols
45
+ */
46
+ export type FrequencyKeyTypeTypeId = typeof FrequencyKeyTypeTypeId
47
+
48
+ /**
49
+ * @since 2.0.0
50
+ * @category symbols
51
+ */
52
+ export const GaugeKeyTypeTypeId: unique symbol = internal.GaugeKeyTypeTypeId
53
+
54
+ /**
55
+ * @since 2.0.0
56
+ * @category symbols
57
+ */
58
+ export type GaugeKeyTypeTypeId = typeof GaugeKeyTypeTypeId
59
+
60
+ /**
61
+ * @since 2.0.0
62
+ * @category symbols
63
+ */
64
+ export const HistogramKeyTypeTypeId: unique symbol = internal.HistogramKeyTypeTypeId
65
+
66
+ /**
67
+ * @since 2.0.0
68
+ * @category symbols
69
+ */
70
+ export type HistogramKeyTypeTypeId = typeof HistogramKeyTypeTypeId
71
+
72
+ /**
73
+ * @since 2.0.0
74
+ * @category symbols
75
+ */
76
+ export const SummaryKeyTypeTypeId: unique symbol = internal.SummaryKeyTypeTypeId
77
+
78
+ /**
79
+ * @since 2.0.0
80
+ * @category symbols
81
+ */
82
+ export type SummaryKeyTypeTypeId = typeof SummaryKeyTypeTypeId
83
+
84
+ /**
85
+ * @since 2.0.0
86
+ * @category modelz
87
+ */
88
+ export interface MetricKeyType<in In, out Out> extends MetricKeyType.Variance<In, Out>, Equal.Equal, Pipeable {}
89
+
90
+ /**
91
+ * @since 2.0.0
92
+ */
93
+ export declare namespace MetricKeyType {
94
+ /**
95
+ * @since 2.0.0
96
+ * @category models
97
+ */
98
+ export type Untyped = MetricKeyType<any, any>
99
+
100
+ /**
101
+ * @since 2.0.0
102
+ * @category models
103
+ */
104
+ export type Counter<A extends (number | bigint)> = MetricKeyType<A, MetricState.MetricState.Counter<A>> & {
105
+ readonly [CounterKeyTypeTypeId]: CounterKeyTypeTypeId
106
+ readonly incremental: boolean
107
+ readonly bigint: boolean
108
+ }
109
+
110
+ /**
111
+ * @since 2.0.0
112
+ * @category models
113
+ */
114
+ export type Frequency = MetricKeyType<string, MetricState.MetricState.Frequency> & {
115
+ readonly [FrequencyKeyTypeTypeId]: FrequencyKeyTypeTypeId
116
+ readonly preregisteredWords: ReadonlyArray<string>
117
+ }
118
+
119
+ /**
120
+ * @since 2.0.0
121
+ * @category models
122
+ */
123
+ export type Gauge<A extends (number | bigint)> = MetricKeyType<A, MetricState.MetricState.Gauge<A>> & {
124
+ readonly [GaugeKeyTypeTypeId]: GaugeKeyTypeTypeId
125
+ readonly bigint: boolean
126
+ }
127
+
128
+ /**
129
+ * @since 2.0.0
130
+ * @category models
131
+ */
132
+ export type Histogram = MetricKeyType<number, MetricState.MetricState.Histogram> & {
133
+ readonly [HistogramKeyTypeTypeId]: HistogramKeyTypeTypeId
134
+ readonly boundaries: MetricBoundaries.MetricBoundaries
135
+ }
136
+
137
+ /**
138
+ * @since 2.0.0
139
+ * @category models
140
+ */
141
+ export type Summary = MetricKeyType<readonly [number, number], MetricState.MetricState.Summary> & {
142
+ readonly [SummaryKeyTypeTypeId]: SummaryKeyTypeTypeId
143
+ readonly maxAge: Duration.Duration
144
+ readonly maxSize: number
145
+ readonly error: number
146
+ readonly quantiles: ReadonlyArray<number>
147
+ }
148
+
149
+ /**
150
+ * @since 2.0.0
151
+ * @category models
152
+ */
153
+ export interface Variance<in In, out Out> {
154
+ readonly [MetricKeyTypeTypeId]: {
155
+ readonly _In: Types.Contravariant<In>
156
+ readonly _Out: Types.Covariant<Out>
157
+ }
158
+ }
159
+
160
+ /**
161
+ * @since 2.0.0
162
+ * @category models
163
+ */
164
+ export type InType<Type extends MetricKeyType<any, any>> = [Type] extends [
165
+ {
166
+ readonly [MetricKeyTypeTypeId]: {
167
+ readonly _In: (_: infer In) => void
168
+ }
169
+ }
170
+ ] ? In
171
+ : never
172
+
173
+ /**
174
+ * @since 2.0.0
175
+ * @category models
176
+ */
177
+ export type OutType<Type extends MetricKeyType<any, any>> = [Type] extends [
178
+ {
179
+ readonly [MetricKeyTypeTypeId]: {
180
+ readonly _Out: (_: never) => infer Out
181
+ }
182
+ }
183
+ ] ? Out
184
+ : never
185
+ }
186
+
187
+ /**
188
+ * @since 2.0.0
189
+ * @category constructors
190
+ */
191
+ export const counter: <A extends number | bigint>() => MetricKeyType.Counter<A> = internal.counter
192
+
193
+ /**
194
+ * @since 2.0.0
195
+ * @category constructors
196
+ */
197
+ export const frequency: (
198
+ options?: {
199
+ readonly preregisteredWords?: ReadonlyArray<string> | undefined
200
+ } | undefined
201
+ ) => MetricKeyType.Frequency = internal.frequency
202
+
203
+ /**
204
+ * @since 2.0.0
205
+ * @category constructors
206
+ */
207
+ export const gauge: <A extends number | bigint>() => MetricKeyType.Gauge<A> = internal.gauge
208
+
209
+ /**
210
+ * @since 2.0.0
211
+ * @category constructors
212
+ */
213
+ export const histogram: (boundaries: MetricBoundaries.MetricBoundaries) => MetricKeyType.Histogram = internal.histogram
214
+
215
+ /**
216
+ * @since 2.0.0
217
+ * @category constructors
218
+ */
219
+ export const summary: (
220
+ options: {
221
+ readonly maxAge: Duration.DurationInput
222
+ readonly maxSize: number
223
+ readonly error: number
224
+ readonly quantiles: ReadonlyArray<number>
225
+ }
226
+ ) => MetricKeyType.Summary = internal.summary
227
+
228
+ /**
229
+ * @since 2.0.0
230
+ * @category refinements
231
+ */
232
+ export const isMetricKeyType: (u: unknown) => u is MetricKeyType<unknown, unknown> = internal.isMetricKeyType
233
+
234
+ /**
235
+ * @since 2.0.0
236
+ * @category refinements
237
+ */
238
+ export const isCounterKey: (u: unknown) => u is MetricKeyType.Counter<number | bigint> = internal.isCounterKey
239
+
240
+ /**
241
+ * @since 2.0.0
242
+ * @category refinements
243
+ */
244
+ export const isFrequencyKey: (u: unknown) => u is MetricKeyType.Frequency = internal.isFrequencyKey
245
+
246
+ /**
247
+ * @since 2.0.0
248
+ * @category refinements
249
+ */
250
+ export const isGaugeKey: (u: unknown) => u is MetricKeyType.Gauge<number | bigint> = internal.isGaugeKey
251
+
252
+ /**
253
+ * @since 2.0.0
254
+ * @category refinements
255
+ */
256
+ export const isHistogramKey: (u: unknown) => u is MetricKeyType.Histogram = internal.isHistogramKey
257
+
258
+ /**
259
+ * @since 2.0.0
260
+ * @category refinements
261
+ */
262
+ export const isSummaryKey: (u: unknown) => u is MetricKeyType.Summary = internal.isSummaryKey