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

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,47 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Equal from "./Equal.js"
5
+ import * as internal from "./internal/metric/label.js"
6
+ import type { Pipeable } from "./Pipeable.js"
7
+
8
+ /**
9
+ * @since 2.0.0
10
+ * @category symbols
11
+ */
12
+ export const MetricLabelTypeId: unique symbol = internal.MetricLabelTypeId
13
+
14
+ /**
15
+ * @since 2.0.0
16
+ * @category symbols
17
+ */
18
+ export type MetricLabelTypeId = typeof MetricLabelTypeId
19
+
20
+ /**
21
+ * A `MetricLabel` represents a key value pair that allows analyzing metrics at
22
+ * an additional level of granularity.
23
+ *
24
+ * For example if a metric tracks the response time of a service labels could
25
+ * be used to create separate versions that track response times for different
26
+ * clients.
27
+ *
28
+ * @since 2.0.0
29
+ * @category models
30
+ */
31
+ export interface MetricLabel extends Equal.Equal, Pipeable {
32
+ readonly [MetricLabelTypeId]: MetricLabelTypeId
33
+ readonly key: string
34
+ readonly value: string
35
+ }
36
+
37
+ /**
38
+ * @since 2.0.0
39
+ * @category constructors
40
+ */
41
+ export const make: (key: string, value: string) => MetricLabel = internal.make
42
+
43
+ /**
44
+ * @since 2.0.0
45
+ * @category refinements
46
+ */
47
+ export const isMetricLabel: (u: unknown) => u is MetricLabel = internal.isMetricLabel
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import * as internal from "./internal/metric/pair.js"
5
+ import type * as MetricKey from "./MetricKey.js"
6
+ import type * as MetricKeyType from "./MetricKeyType.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 MetricPairTypeId: unique symbol = internal.MetricPairTypeId
16
+
17
+ /**
18
+ * @since 2.0.0
19
+ * @category symbols
20
+ */
21
+ export type MetricPairTypeId = typeof MetricPairTypeId
22
+
23
+ /**
24
+ * @since 2.0.0
25
+ * @category model
26
+ */
27
+ export interface MetricPair<out Type extends MetricKeyType.MetricKeyType<any, any>>
28
+ extends MetricPair.Variance<Type>, Pipeable
29
+ {
30
+ readonly metricKey: MetricKey.MetricKey<Type>
31
+ readonly metricState: MetricState.MetricState<MetricKeyType.MetricKeyType.OutType<Type>>
32
+ }
33
+
34
+ /**
35
+ * @since 2.0.0
36
+ */
37
+ export declare namespace MetricPair {
38
+ /**
39
+ * @since 2.0.0
40
+ * @category models
41
+ */
42
+ export interface Untyped extends MetricPair<MetricKeyType.MetricKeyType<any, any>> {}
43
+
44
+ /**
45
+ * @since 2.0.0
46
+ * @category models
47
+ */
48
+ export interface Variance<out Type extends MetricKeyType.MetricKeyType<any, any>> {
49
+ readonly [MetricPairTypeId]: {
50
+ readonly _Type: Types.Covariant<Type>
51
+ }
52
+ }
53
+ }
54
+
55
+ /**
56
+ * @since 2.0.0
57
+ * @category constructors
58
+ */
59
+ export const make: <Type extends MetricKeyType.MetricKeyType<any, any>>(
60
+ metricKey: MetricKey.MetricKey<Type>,
61
+ metricState: MetricState.MetricState<MetricKeyType.MetricKeyType.OutType<Type>>
62
+ ) => MetricPair.Untyped = internal.make
63
+
64
+ /**
65
+ * @since 2.0.0
66
+ * @category unsafe
67
+ */
68
+ export const unsafeMake: <Type extends MetricKeyType.MetricKeyType<any, any>>(
69
+ metricKey: MetricKey.MetricKey<Type>,
70
+ metricState: MetricState.MetricState.Untyped
71
+ ) => MetricPair.Untyped = internal.unsafeMake
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Effect from "./Effect.js"
5
+ import type * as Fiber from "./Fiber.js"
6
+ import * as internal from "./internal/metric/polling.js"
7
+ import type * as Metric from "./Metric.js"
8
+ import type { Pipeable } from "./Pipeable.js"
9
+ import type * as Schedule from "./Schedule.js"
10
+ import type * as Scope from "./Scope.js"
11
+
12
+ /**
13
+ * @since 2.0.0
14
+ * @category symbols
15
+ */
16
+ export const MetricPollingTypeId: unique symbol = internal.MetricPollingTypeId
17
+
18
+ /**
19
+ * @since 2.0.0
20
+ * @category symbols
21
+ */
22
+ export type MetricPollingTypeId = typeof MetricPollingTypeId
23
+
24
+ /**
25
+ * A `MetricPolling` is a combination of a metric and an effect that polls for
26
+ * updates to the metric.
27
+ *
28
+ * @since 2.0.0
29
+ * @category models
30
+ */
31
+ export interface MetricPolling<in out Type, in out In, out R, out E, out Out> extends Pipeable {
32
+ readonly [MetricPollingTypeId]: MetricPollingTypeId
33
+ /**
34
+ * The metric that this `MetricPolling` polls to update.
35
+ */
36
+ readonly metric: Metric.Metric<Type, In, Out>
37
+ /**
38
+ * An effect that polls a value that may be fed to the metric.
39
+ */
40
+ readonly poll: Effect.Effect<In, E, R>
41
+ }
42
+
43
+ /**
44
+ * Constructs a new polling metric from a metric and poll effect.
45
+ *
46
+ * @since 2.0.0
47
+ * @category constructors
48
+ */
49
+ export const make: <Type, In, Out, R, E>(
50
+ metric: Metric.Metric<Type, In, Out>,
51
+ poll: Effect.Effect<In, E, R>
52
+ ) => MetricPolling<Type, In, R, E, Out> = internal.make
53
+
54
+ /**
55
+ * Collects all of the polling metrics into a single polling metric, which
56
+ * polls for, updates, and produces the outputs of all individual metrics.
57
+ *
58
+ * @since 2.0.0
59
+ * @category constructors
60
+ */
61
+ export const collectAll: <R, E, Out>(
62
+ iterable: Iterable<MetricPolling<any, any, R, E, Out>>
63
+ ) => MetricPolling<Array<any>, Array<any>, R, E, Array<Out>> = internal.collectAll
64
+
65
+ /**
66
+ * Returns an effect that will launch the polling metric in a background
67
+ * fiber, using the specified schedule.
68
+ *
69
+ * @since 2.0.0
70
+ * @category utils
71
+ */
72
+ export const launch: {
73
+ <A2, R2>(
74
+ schedule: Schedule.Schedule<A2, unknown, R2>
75
+ ): <Type, In, R, E, Out>(
76
+ self: MetricPolling<Type, In, R, E, Out>
77
+ ) => Effect.Effect<Fiber.Fiber<A2, E>, never, R2 | R | Scope.Scope>
78
+ <Type, In, R, E, Out, A2, R2>(
79
+ self: MetricPolling<Type, In, R, E, Out>,
80
+ schedule: Schedule.Schedule<A2, unknown, R2>
81
+ ): Effect.Effect<Fiber.Fiber<A2, E>, never, Scope.Scope | R | R2>
82
+ } = internal.launch
83
+
84
+ /**
85
+ * An effect that polls a value that may be fed to the metric.
86
+ *
87
+ * @since 2.0.0
88
+ * @category utils
89
+ */
90
+ export const poll: <Type, In, R, E, Out>(self: MetricPolling<Type, In, R, E, Out>) => Effect.Effect<In, E, R> =
91
+ internal.poll
92
+
93
+ /**
94
+ * An effect that polls for a value and uses the value to update the metric.
95
+ *
96
+ * @since 2.0.0
97
+ * @category utils
98
+ */
99
+ export const pollAndUpdate: <Type, In, R, E, Out>(
100
+ self: MetricPolling<Type, In, R, E, Out>
101
+ ) => Effect.Effect<void, E, R> = internal.pollAndUpdate
102
+
103
+ /**
104
+ * Returns a new polling metric whose poll function will be retried with the
105
+ * specified retry policy.
106
+ *
107
+ * @since 2.0.0
108
+ * @category constructors
109
+ */
110
+ export const retry: {
111
+ <X, E, R2>(
112
+ policy: Schedule.Schedule<X, NoInfer<E>, R2>
113
+ ): <Type, In, R, Out>(self: MetricPolling<Type, In, R, E, Out>) => MetricPolling<Type, In, R2 | R, E, Out>
114
+ <Type, In, R, E, Out, X, R2>(
115
+ self: MetricPolling<Type, In, R, E, Out>,
116
+ policy: Schedule.Schedule<X, E, R2>
117
+ ): MetricPolling<Type, In, R | R2, E, Out>
118
+ } = internal.retry
119
+
120
+ /**
121
+ * Zips this polling metric with the specified polling metric.
122
+ *
123
+ * @since 2.0.0
124
+ * @category utils
125
+ */
126
+ export const zip: {
127
+ <Type2, In2, R2, E2, Out2>(
128
+ that: MetricPolling<Type2, In2, R2, E2, Out2>
129
+ ): <Type, In, R, E, Out>(
130
+ self: MetricPolling<Type, In, R, E, Out>
131
+ ) => MetricPolling<
132
+ readonly [Type, Type2], // readonly because invariant
133
+ readonly [In, In2], // readonly because contravariant
134
+ R2 | R,
135
+ E2 | E,
136
+ [Out, Out2]
137
+ >
138
+ <Type, In, R, E, Out, Type2, In2, R2, E2, Out2>(
139
+ self: MetricPolling<Type, In, R, E, Out>,
140
+ that: MetricPolling<Type2, In2, R2, E2, Out2>
141
+ ): MetricPolling<
142
+ readonly [Type, Type2], // readonly because invariant
143
+ readonly [In, In2], // readonly because contravariant
144
+ R | R2,
145
+ E | E2,
146
+ [Out, Out2]
147
+ >
148
+ } = internal.zip
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import * as internal from "./internal/metric/registry.js"
5
+ import type * as MetricHook from "./MetricHook.js"
6
+ import type * as MetricKey from "./MetricKey.js"
7
+ import type * as MetricKeyType from "./MetricKeyType.js"
8
+ import type * as MetricPair from "./MetricPair.js"
9
+
10
+ /**
11
+ * @since 2.0.0
12
+ * @category symbols
13
+ */
14
+ export const MetricRegistryTypeId: unique symbol = internal.MetricRegistryTypeId
15
+
16
+ /**
17
+ * @since 2.0.0
18
+ * @category symbols
19
+ */
20
+ export type MetricRegistryTypeId = typeof MetricRegistryTypeId
21
+
22
+ /**
23
+ * @since 2.0.0
24
+ * @category models
25
+ */
26
+ export interface MetricRegistry {
27
+ readonly [MetricRegistryTypeId]: MetricRegistryTypeId
28
+ snapshot(): Array<MetricPair.MetricPair.Untyped>
29
+ get<Type extends MetricKeyType.MetricKeyType<any, any>>(
30
+ key: MetricKey.MetricKey<Type>
31
+ ): MetricHook.MetricHook<
32
+ MetricKeyType.MetricKeyType.InType<typeof key["keyType"]>,
33
+ MetricKeyType.MetricKeyType.OutType<typeof key["keyType"]>
34
+ >
35
+ getCounter<A extends (number | bigint)>(
36
+ key: MetricKey.MetricKey.Counter<A>
37
+ ): MetricHook.MetricHook.Counter<A>
38
+ getFrequency(key: MetricKey.MetricKey.Frequency): MetricHook.MetricHook.Frequency
39
+ getGauge<A extends (number | bigint)>(key: MetricKey.MetricKey.Gauge<A>): MetricHook.MetricHook.Gauge<A>
40
+ getHistogram(key: MetricKey.MetricKey.Histogram): MetricHook.MetricHook.Histogram
41
+ getSummary(key: MetricKey.MetricKey.Summary): MetricHook.MetricHook.Summary
42
+ }
43
+
44
+ /**
45
+ * @since 2.0.0
46
+ * @category constructors
47
+ */
48
+ export const make: (_: void) => MetricRegistry = internal.make
@@ -0,0 +1,257 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Equal from "./Equal.js"
5
+ import * as internal from "./internal/metric/state.js"
6
+ import type * as MetricKeyType from "./MetricKeyType.js"
7
+ import type * as Option from "./Option.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 MetricStateTypeId: unique symbol = internal.MetricStateTypeId
16
+
17
+ /**
18
+ * @since 2.0.0
19
+ * @category symbols
20
+ */
21
+ export type MetricStateTypeId = typeof MetricStateTypeId
22
+
23
+ /**
24
+ * @since 2.0.0
25
+ * @category symbols
26
+ */
27
+ export const CounterStateTypeId: unique symbol = internal.CounterStateTypeId
28
+
29
+ /**
30
+ * @since 2.0.0
31
+ * @category symbols
32
+ */
33
+ export type CounterStateTypeId = typeof CounterStateTypeId
34
+
35
+ /**
36
+ * @since 2.0.0
37
+ * @category symbols
38
+ */
39
+ export const FrequencyStateTypeId: unique symbol = internal.FrequencyStateTypeId
40
+
41
+ /**
42
+ * @since 2.0.0
43
+ * @category symbols
44
+ */
45
+ export type FrequencyStateTypeId = typeof FrequencyStateTypeId
46
+
47
+ /**
48
+ * @since 2.0.0
49
+ * @category symbols
50
+ */
51
+ export const GaugeStateTypeId: unique symbol = internal.GaugeStateTypeId
52
+
53
+ /**
54
+ * @since 2.0.0
55
+ * @category symbols
56
+ */
57
+ export type GaugeStateTypeId = typeof GaugeStateTypeId
58
+
59
+ /**
60
+ * @since 2.0.0
61
+ * @category symbols
62
+ */
63
+ export const HistogramStateTypeId: unique symbol = internal.HistogramStateTypeId
64
+
65
+ /**
66
+ * @since 2.0.0
67
+ * @category symbols
68
+ */
69
+ export type HistogramStateTypeId = typeof HistogramStateTypeId
70
+
71
+ /**
72
+ * @since 2.0.0
73
+ * @category symbols
74
+ */
75
+ export const SummaryStateTypeId: unique symbol = internal.SummaryStateTypeId
76
+
77
+ /**
78
+ * @since 2.0.0
79
+ * @category symbols
80
+ */
81
+ export type SummaryStateTypeId = typeof SummaryStateTypeId
82
+
83
+ /**
84
+ * A `MetricState` describes the state of a metric. The type parameter of a
85
+ * metric state corresponds to the type of the metric key (`MetricStateType`).
86
+ * This phantom type parameter is used to tie keys to their expected states.
87
+ *
88
+ * @since 2.0.0
89
+ * @category models
90
+ */
91
+ export interface MetricState<in A> extends MetricState.Variance<A>, Equal.Equal, Pipeable {}
92
+
93
+ /**
94
+ * @since 2.0.0
95
+ */
96
+ export declare namespace MetricState {
97
+ /**
98
+ * @since 2.0.0
99
+ * @category models
100
+ */
101
+ export interface Untyped extends MetricState<any> {}
102
+
103
+ /**
104
+ * @since 2.0.0
105
+ * @category models
106
+ */
107
+ export interface Counter<in out A extends (number | bigint)>
108
+ extends MetricState<MetricKeyType.MetricKeyType.Counter<A>>
109
+ {
110
+ readonly [CounterStateTypeId]: CounterStateTypeId
111
+ readonly count: A
112
+ }
113
+
114
+ /**
115
+ * @since 2.0.0
116
+ * @category models
117
+ */
118
+ export interface Frequency extends MetricState<MetricKeyType.MetricKeyType.Frequency> {
119
+ readonly [FrequencyStateTypeId]: FrequencyStateTypeId
120
+ readonly occurrences: ReadonlyMap<string, number>
121
+ }
122
+
123
+ /**
124
+ * @since 2.0.0
125
+ * @category models
126
+ */
127
+ export interface Gauge<in out A extends (number | bigint)> extends MetricState<MetricKeyType.MetricKeyType.Gauge<A>> {
128
+ readonly [GaugeStateTypeId]: GaugeStateTypeId
129
+ readonly value: A
130
+ }
131
+
132
+ /**
133
+ * @since 2.0.0
134
+ * @category models
135
+ */
136
+ export interface Histogram extends MetricState<MetricKeyType.MetricKeyType.Histogram> {
137
+ readonly [HistogramStateTypeId]: HistogramStateTypeId
138
+ readonly buckets: ReadonlyArray<readonly [number, number]>
139
+ readonly count: number
140
+ readonly min: number
141
+ readonly max: number
142
+ readonly sum: number
143
+ }
144
+
145
+ /**
146
+ * @since 2.0.0
147
+ * @category models
148
+ */
149
+ export interface Summary extends MetricState<MetricKeyType.MetricKeyType.Summary> {
150
+ readonly [SummaryStateTypeId]: SummaryStateTypeId
151
+ readonly error: number
152
+ readonly quantiles: ReadonlyArray<readonly [number, Option.Option<number>]>
153
+ readonly count: number
154
+ readonly min: number
155
+ readonly max: number
156
+ readonly sum: number
157
+ }
158
+
159
+ /**
160
+ * @since 2.0.0
161
+ * @category models
162
+ */
163
+ export interface Variance<in A> {
164
+ readonly [MetricStateTypeId]: {
165
+ readonly _A: Types.Contravariant<A>
166
+ }
167
+ }
168
+ }
169
+
170
+ /**
171
+ * @since 2.0.0
172
+ * @category constructors
173
+ */
174
+ export const counter: {
175
+ (count: number): MetricState.Counter<number>
176
+ (count: bigint): MetricState.Counter<bigint>
177
+ } = internal.counter
178
+
179
+ /**
180
+ * @since 2.0.0
181
+ * @category constructors
182
+ */
183
+ export const frequency: (occurrences: ReadonlyMap<string, number>) => MetricState.Frequency = internal.frequency
184
+
185
+ /**
186
+ * @since 2.0.0
187
+ * @category constructors
188
+ */
189
+ export const gauge: {
190
+ (count: number): MetricState.Gauge<number>
191
+ (count: bigint): MetricState.Gauge<bigint>
192
+ } = internal.gauge
193
+
194
+ /**
195
+ * @since 2.0.0
196
+ * @category constructors
197
+ */
198
+ export const histogram: (
199
+ options: {
200
+ readonly buckets: ReadonlyArray<readonly [number, number]>
201
+ readonly count: number
202
+ readonly min: number
203
+ readonly max: number
204
+ readonly sum: number
205
+ }
206
+ ) => MetricState.Histogram = internal.histogram
207
+
208
+ /**
209
+ * @since 2.0.0
210
+ * @category constructors
211
+ */
212
+ export const summary: (
213
+ options: {
214
+ readonly error: number
215
+ readonly quantiles: ReadonlyArray<readonly [number, Option.Option<number>]>
216
+ readonly count: number
217
+ readonly min: number
218
+ readonly max: number
219
+ readonly sum: number
220
+ }
221
+ ) => MetricState.Summary = internal.summary
222
+
223
+ /**
224
+ * @since 2.0.0
225
+ * @category refinements
226
+ */
227
+ export const isMetricState: (u: unknown) => u is MetricState.Counter<number | bigint> = internal.isMetricState
228
+
229
+ /**
230
+ * @since 2.0.0
231
+ * @category refinements
232
+ */
233
+ export const isCounterState: (u: unknown) => u is MetricState.Counter<number | bigint> = internal.isCounterState
234
+
235
+ /**
236
+ * @since 2.0.0
237
+ * @category refinements
238
+ */
239
+ export const isFrequencyState: (u: unknown) => u is MetricState.Frequency = internal.isFrequencyState
240
+
241
+ /**
242
+ * @since 2.0.0
243
+ * @category refinements
244
+ */
245
+ export const isGaugeState: (u: unknown) => u is MetricState.Gauge<number | bigint> = internal.isGaugeState
246
+
247
+ /**
248
+ * @since 2.0.0
249
+ * @category refinements
250
+ */
251
+ export const isHistogramState: (u: unknown) => u is MetricState.Histogram = internal.isHistogramState
252
+
253
+ /**
254
+ * @since 2.0.0
255
+ * @category refinements
256
+ */
257
+ export const isSummaryState: (u: unknown) => u is MetricState.Summary = internal.isSummaryState