@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,444 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Cause from "./Cause.js"
5
+ import type * as Chunk from "./Chunk.js"
6
+ import type * as Context from "./Context.js"
7
+ import type * as Differ from "./Differ.js"
8
+ import type * as Effect from "./Effect.js"
9
+ import type { LazyArg } from "./Function.js"
10
+ import type * as HashMap from "./HashMap.js"
11
+ import type * as HashSet from "./HashSet.js"
12
+ import * as core from "./internal/core.js"
13
+ import * as fiberRuntime from "./internal/fiberRuntime.js"
14
+ import * as query from "./internal/query.js"
15
+ import type * as List from "./List.js"
16
+ import type * as Logger from "./Logger.js"
17
+ import type * as LogLevel from "./LogLevel.js"
18
+ import type * as LogSpan from "./LogSpan.js"
19
+ import type * as MetricLabel from "./MetricLabel.js"
20
+ import type * as Option from "./Option.js"
21
+ import type * as Request from "./Request.js"
22
+ import type * as RuntimeFlags from "./RuntimeFlags.js"
23
+ import * as Scheduler from "./Scheduler.js"
24
+ import type * as Scope from "./Scope.js"
25
+ import type * as SourceLocation from "./SourceLocation.js"
26
+ import type * as Supervisor from "./Supervisor.js"
27
+ import type * as Tracer from "./Tracer.js"
28
+ import type * as Types from "./Types.js"
29
+ import type * as Unify from "./Unify.js"
30
+
31
+ /**
32
+ * @since 2.0.0
33
+ * @category symbols
34
+ */
35
+ export const FiberRefTypeId: unique symbol = core.FiberRefTypeId
36
+
37
+ /**
38
+ * @since 2.0.0
39
+ * @category symbols
40
+ */
41
+ export type FiberRefTypeId = typeof FiberRefTypeId
42
+
43
+ /**
44
+ * @since 2.0.0
45
+ * @category model
46
+ */
47
+ export interface FiberRef<in out A> extends Effect.Effect<A>, Variance<A> {
48
+ /** @internal */
49
+ readonly initial: A
50
+ /** @internal */
51
+ diff(oldValue: A, newValue: A): unknown
52
+ /** @internal */
53
+ combine(first: unknown, second: unknown): unknown
54
+ /** @internal */
55
+ patch(patch: unknown): (oldValue: A) => A
56
+ /** @internal */
57
+ readonly fork: unknown
58
+ /** @internal */
59
+ join(oldValue: A, newValue: A): A
60
+ readonly [Unify.typeSymbol]?: unknown
61
+ readonly [Unify.unifySymbol]?: FiberRefUnify<this>
62
+ readonly [Unify.ignoreSymbol]?: FiberRefUnifyIgnore
63
+ }
64
+
65
+ /**
66
+ * @category models
67
+ * @since 3.8.0
68
+ */
69
+ export interface FiberRefUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
70
+ FiberRef?: () => Extract<A[Unify.typeSymbol], FiberRef<any>>
71
+ }
72
+
73
+ /**
74
+ * @category models
75
+ * @since 3.8.0
76
+ */
77
+ export interface FiberRefUnifyIgnore extends Effect.EffectUnifyIgnore {
78
+ Effect?: true
79
+ }
80
+
81
+ /**
82
+ * @since 2.0.0
83
+ * @category models
84
+ */
85
+ export interface Variance<in out A> {
86
+ readonly [FiberRefTypeId]: {
87
+ readonly _A: Types.Invariant<A>
88
+ }
89
+ }
90
+
91
+ /**
92
+ * @since 2.0.0
93
+ * @category constructors
94
+ */
95
+ export const make: <A>(
96
+ initial: A,
97
+ options?: {
98
+ readonly fork?: ((a: A) => A) | undefined
99
+ readonly join?: ((left: A, right: A) => A) | undefined
100
+ }
101
+ ) => Effect.Effect<FiberRef<A>, never, Scope.Scope> = fiberRuntime.fiberRefMake
102
+
103
+ /**
104
+ * @since 2.0.0
105
+ * @category constructors
106
+ */
107
+ export const makeWith: <Value>(ref: LazyArg<FiberRef<Value>>) => Effect.Effect<FiberRef<Value>, never, Scope.Scope> =
108
+ fiberRuntime.fiberRefMakeWith
109
+
110
+ /**
111
+ * @since 2.0.0
112
+ * @category constructors
113
+ */
114
+ export const makeContext: <A>(
115
+ initial: Context.Context<A>
116
+ ) => Effect.Effect<FiberRef<Context.Context<A>>, never, Scope.Scope> = fiberRuntime.fiberRefMakeContext
117
+
118
+ /**
119
+ * @since 2.0.0
120
+ * @category constructors
121
+ */
122
+ export const makeRuntimeFlags: (
123
+ initial: RuntimeFlags.RuntimeFlags
124
+ ) => Effect.Effect<FiberRef<RuntimeFlags.RuntimeFlags>, never, Scope.Scope> = fiberRuntime.fiberRefMakeRuntimeFlags
125
+
126
+ /**
127
+ * @since 2.0.0
128
+ * @category constructors
129
+ */
130
+ export const unsafeMake: <Value>(
131
+ initial: Value,
132
+ options?: {
133
+ readonly fork?: ((a: Value) => Value) | undefined
134
+ readonly join?: ((left: Value, right: Value) => Value) | undefined
135
+ }
136
+ ) => FiberRef<Value> = core.fiberRefUnsafeMake
137
+
138
+ /**
139
+ * @since 2.0.0
140
+ * @category constructors
141
+ */
142
+ export const unsafeMakeHashSet: <A>(initial: HashSet.HashSet<A>) => FiberRef<HashSet.HashSet<A>> =
143
+ core.fiberRefUnsafeMakeHashSet
144
+
145
+ /**
146
+ * @since 2.0.0
147
+ * @category constructors
148
+ */
149
+ export const unsafeMakeContext: <A>(initial: Context.Context<A>) => FiberRef<Context.Context<A>> =
150
+ core.fiberRefUnsafeMakeContext
151
+
152
+ /**
153
+ * @since 2.0.0
154
+ * @category constructors
155
+ */
156
+ export const unsafeMakeSupervisor: (initial: Supervisor.Supervisor<any>) => FiberRef<Supervisor.Supervisor<any>> =
157
+ fiberRuntime.fiberRefUnsafeMakeSupervisor
158
+
159
+ /**
160
+ * @since 2.0.0
161
+ * @category constructors
162
+ */
163
+ export const unsafeMakePatch: <Value, Patch>(
164
+ initial: Value,
165
+ options: {
166
+ readonly differ: Differ.Differ<Value, Patch>
167
+ readonly fork: Patch
168
+ readonly join?: ((oldV: Value, newV: Value) => Value) | undefined
169
+ }
170
+ ) => FiberRef<Value> = core.fiberRefUnsafeMakePatch
171
+
172
+ /**
173
+ * @since 2.0.0
174
+ * @category getters
175
+ */
176
+ export const get: <A>(self: FiberRef<A>) => Effect.Effect<A> = core.fiberRefGet
177
+
178
+ /**
179
+ * @since 2.0.0
180
+ * @category utils
181
+ */
182
+ export const getAndSet: {
183
+ <A>(value: A): (self: FiberRef<A>) => Effect.Effect<A>
184
+ <A>(self: FiberRef<A>, value: A): Effect.Effect<A>
185
+ } = core.fiberRefGetAndSet
186
+
187
+ /**
188
+ * @since 2.0.0
189
+ * @category utils
190
+ */
191
+ export const getAndUpdate: {
192
+ <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<A>
193
+ <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<A>
194
+ } = core.fiberRefGetAndUpdate
195
+
196
+ /**
197
+ * @since 2.0.0
198
+ * @category utils
199
+ */
200
+ export const getAndUpdateSome: {
201
+ <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<A>
202
+ <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
203
+ } = core.fiberRefGetAndUpdateSome
204
+
205
+ /**
206
+ * @since 2.0.0
207
+ * @category utils
208
+ */
209
+ export const getWith: {
210
+ <A, B, E, R>(f: (a: A) => Effect.Effect<B, E, R>): (self: FiberRef<A>) => Effect.Effect<B, E, R>
211
+ <A, B, E, R>(self: FiberRef<A>, f: (a: A) => Effect.Effect<B, E, R>): Effect.Effect<B, E, R>
212
+ } = core.fiberRefGetWith
213
+
214
+ /**
215
+ * @since 2.0.0
216
+ * @category utils
217
+ */
218
+ export const set: {
219
+ <A>(value: A): (self: FiberRef<A>) => Effect.Effect<void>
220
+ <A>(self: FiberRef<A>, value: A): Effect.Effect<void>
221
+ } = core.fiberRefSet
222
+
223
+ const _delete: <A>(self: FiberRef<A>) => Effect.Effect<void> = core.fiberRefDelete
224
+
225
+ export {
226
+ /**
227
+ * @since 2.0.0
228
+ * @category utils
229
+ */
230
+ _delete as delete
231
+ }
232
+
233
+ /**
234
+ * @since 2.0.0
235
+ * @category utils
236
+ */
237
+ export const reset: <A>(self: FiberRef<A>) => Effect.Effect<void> = core.fiberRefReset
238
+
239
+ /**
240
+ * @since 2.0.0
241
+ * @category utils
242
+ */
243
+ export const modify: {
244
+ <A, B>(f: (a: A) => readonly [B, A]): (self: FiberRef<A>) => Effect.Effect<B>
245
+ <A, B>(self: FiberRef<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
246
+ } = core.fiberRefModify
247
+
248
+ /**
249
+ * @since 2.0.0
250
+ * @category utils
251
+ */
252
+ export const modifySome: <A, B>(
253
+ self: FiberRef<A>,
254
+ def: B,
255
+ f: (a: A) => Option.Option<readonly [B, A]>
256
+ ) => Effect.Effect<B> = core.fiberRefModifySome
257
+
258
+ /**
259
+ * @since 2.0.0
260
+ * @category utils
261
+ */
262
+ export const update: {
263
+ <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<void>
264
+ <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<void>
265
+ } = core.fiberRefUpdate
266
+
267
+ /**
268
+ * @since 2.0.0
269
+ * @category utils
270
+ */
271
+ export const updateSome: {
272
+ <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<void>
273
+ <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<void>
274
+ } = core.fiberRefUpdateSome
275
+
276
+ /**
277
+ * @since 2.0.0
278
+ * @category utils
279
+ */
280
+ export const updateAndGet: {
281
+ <A>(f: (a: A) => A): (self: FiberRef<A>) => Effect.Effect<A>
282
+ <A>(self: FiberRef<A>, f: (a: A) => A): Effect.Effect<A>
283
+ } = core.fiberRefUpdateAndGet
284
+
285
+ /**
286
+ * @since 2.0.0
287
+ * @category utils
288
+ */
289
+ export const updateSomeAndGet: {
290
+ <A>(pf: (a: A) => Option.Option<A>): (self: FiberRef<A>) => Effect.Effect<A>
291
+ <A>(self: FiberRef<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
292
+ } = core.fiberRefUpdateSomeAndGet
293
+
294
+ /**
295
+ * @since 2.0.0
296
+ * @category fiberRefs
297
+ */
298
+ export const currentConcurrency: FiberRef<number | "unbounded"> = core.currentConcurrency
299
+
300
+ /**
301
+ * @since 2.0.0
302
+ * @category fiberRefs
303
+ */
304
+ export const currentRequestBatchingEnabled: FiberRef<boolean> = core.currentRequestBatching
305
+
306
+ /**
307
+ * @since 2.0.0
308
+ * @category fiberRefs
309
+ */
310
+ export const currentRequestCache: FiberRef<Request.Cache> = query.currentCache as any
311
+
312
+ /**
313
+ * @since 2.0.0
314
+ * @category fiberRefs
315
+ */
316
+ export const currentRequestCacheEnabled: FiberRef<boolean> = query.currentCacheEnabled
317
+
318
+ /**
319
+ * @since 2.0.0
320
+ * @category fiberRefs
321
+ */
322
+ export const currentContext: FiberRef<Context.Context<never>> = core.currentContext
323
+
324
+ /**
325
+ * @since 2.0.0
326
+ * @category fiberRefs
327
+ */
328
+ export const currentSchedulingPriority: FiberRef<number> = core.currentSchedulingPriority
329
+
330
+ /**
331
+ * @since 2.0.0
332
+ * @category fiberRefs
333
+ */
334
+ export const currentMaxOpsBeforeYield: FiberRef<number> = core.currentMaxOpsBeforeYield
335
+
336
+ /**
337
+ * @since 2.0.0
338
+ * @category fiberRefs
339
+ */
340
+ export const unhandledErrorLogLevel: FiberRef<Option.Option<LogLevel.LogLevel>> = core.currentUnhandledErrorLogLevel
341
+
342
+ /**
343
+ * @since 3.17.0
344
+ * @category fiberRefs
345
+ */
346
+ export const versionMismatchErrorLogLevel: FiberRef<Option.Option<LogLevel.LogLevel>> =
347
+ core.currentVersionMismatchErrorLogLevel
348
+
349
+ /**
350
+ * @since 2.0.0
351
+ * @category fiberRefs
352
+ */
353
+ export const currentLogAnnotations: FiberRef<HashMap.HashMap<string, unknown>> = core.currentLogAnnotations
354
+
355
+ /**
356
+ * @since 2.0.0
357
+ * @category fiberRefs
358
+ */
359
+ export const currentLoggers: FiberRef<HashSet.HashSet<Logger.Logger<unknown, any>>> = fiberRuntime.currentLoggers
360
+
361
+ /**
362
+ * @since 2.0.0
363
+ * @category fiberRefs
364
+ */
365
+ export const currentLogLevel: FiberRef<LogLevel.LogLevel> = core.currentLogLevel
366
+
367
+ /**
368
+ * @since 2.0.0
369
+ * @category fiberRefs
370
+ */
371
+ export const currentMinimumLogLevel: FiberRef<LogLevel.LogLevel> = fiberRuntime.currentMinimumLogLevel
372
+
373
+ /**
374
+ * @since 2.0.0
375
+ * @category fiberRefs
376
+ */
377
+ export const currentLogSpan: FiberRef<List.List<LogSpan.LogSpan>> = core.currentLogSpan
378
+
379
+ /**
380
+ * @since 2.0.0
381
+ * @category fiberRefs
382
+ */
383
+ export const currentRuntimeFlags: FiberRef<RuntimeFlags.RuntimeFlags> = fiberRuntime.currentRuntimeFlags
384
+
385
+ /**
386
+ * @since 2.0.0
387
+ * @category fiberRefs
388
+ */
389
+ export const currentScheduler: FiberRef<Scheduler.Scheduler> = Scheduler.currentScheduler
390
+
391
+ /**
392
+ * The current source location trace, used for build-time instrumentation.
393
+ *
394
+ * This FiberRef contains the source location of the currently executing effect
395
+ * step within an `Effect.gen` block. It is automatically set by the
396
+ * `@effect/unplugin` build-time transformer.
397
+ *
398
+ * @since 3.20.0
399
+ * @category fiberRefs
400
+ */
401
+ export const currentSourceTrace: FiberRef<SourceLocation.SourceLocation | undefined> = core.currentSourceTrace
402
+
403
+ /**
404
+ * @since 2.0.0
405
+ * @category fiberRefs
406
+ */
407
+ export const currentSupervisor: FiberRef<Supervisor.Supervisor<any>> = fiberRuntime.currentSupervisor
408
+
409
+ /**
410
+ * @since 2.0.0
411
+ * @category fiberRefs
412
+ */
413
+ export const currentMetricLabels: FiberRef<ReadonlyArray<MetricLabel.MetricLabel>> = core.currentMetricLabels
414
+
415
+ /**
416
+ * @since 2.0.0
417
+ * @category fiberRefs
418
+ */
419
+ export const currentTracerEnabled: FiberRef<boolean> = core.currentTracerEnabled
420
+
421
+ /**
422
+ * @since 2.0.0
423
+ * @category fiberRefs
424
+ */
425
+ export const currentTracerTimingEnabled: FiberRef<boolean> = core.currentTracerTimingEnabled
426
+
427
+ /**
428
+ * @since 2.0.0
429
+ * @category fiberRefs
430
+ */
431
+ export const currentTracerSpanAnnotations: FiberRef<HashMap.HashMap<string, unknown>> =
432
+ core.currentTracerSpanAnnotations
433
+
434
+ /**
435
+ * @since 2.0.0
436
+ * @category fiberRefs
437
+ */
438
+ export const currentTracerSpanLinks: FiberRef<Chunk.Chunk<Tracer.SpanLink>> = core.currentTracerSpanLinks
439
+
440
+ /**
441
+ * @since 2.0.0
442
+ * @category fiberRefs
443
+ */
444
+ export const interruptedCause: FiberRef<Cause.Cause<never>> = core.currentInterruptedCause
@@ -0,0 +1,204 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Arr from "./Array.js"
5
+ import type * as Effect from "./Effect.js"
6
+ import type * as FiberId from "./FiberId.js"
7
+ import type * as FiberRef from "./FiberRef.js"
8
+ import type * as HashSet from "./HashSet.js"
9
+ import * as internal from "./internal/fiberRefs.js"
10
+ import type * as Option from "./Option.js"
11
+ import type { Pipeable } from "./Pipeable.js"
12
+
13
+ /**
14
+ * @since 2.0.0
15
+ * @category symbols
16
+ */
17
+ export const FiberRefsSym: unique symbol = internal.FiberRefsSym
18
+
19
+ /**
20
+ * @since 2.0.0
21
+ * @category symbols
22
+ */
23
+ export type FiberRefsSym = typeof FiberRefsSym
24
+
25
+ /**
26
+ * `FiberRefs` is a data type that represents a collection of `FiberRef` values.
27
+ *
28
+ * This allows safely propagating `FiberRef` values across fiber boundaries, for
29
+ * example between an asynchronous producer and consumer.
30
+ *
31
+ * @since 2.0.0
32
+ * @category models
33
+ */
34
+ export interface FiberRefs extends Pipeable {
35
+ readonly [FiberRefsSym]: FiberRefsSym
36
+ readonly locals: Map<FiberRef.FiberRef<any>, Arr.NonEmptyReadonlyArray<readonly [FiberId.Single, any]>>
37
+ }
38
+
39
+ const delete_: {
40
+ <A>(fiberRef: FiberRef.FiberRef<A>): (self: FiberRefs) => FiberRefs
41
+ <A>(self: FiberRefs, fiberRef: FiberRef.FiberRef<A>): FiberRefs
42
+ } = internal.delete_
43
+
44
+ export {
45
+ /**
46
+ * Deletes the specified `FiberRef` from the `FibterRefs`.
47
+ *
48
+ * @since 2.0.0
49
+ * @category utils
50
+ */
51
+ delete_ as delete
52
+ }
53
+
54
+ /**
55
+ * Returns a set of each `FiberRef` in this collection.
56
+ *
57
+ * @since 2.0.0
58
+ * @category getters
59
+ */
60
+ export const fiberRefs: (self: FiberRefs) => HashSet.HashSet<FiberRef.FiberRef<any>> = internal.fiberRefs
61
+
62
+ /**
63
+ * Forks this collection of fiber refs as the specified child fiber id. This
64
+ * will potentially modify the value of the fiber refs, as determined by the
65
+ * individual fiber refs that make up the collection.
66
+ *
67
+ * @since 2.0.0
68
+ * @category utils
69
+ */
70
+ export const forkAs: {
71
+ (childId: FiberId.Single): (self: FiberRefs) => FiberRefs
72
+ (self: FiberRefs, childId: FiberId.Single): FiberRefs
73
+ } = internal.forkAs
74
+
75
+ /**
76
+ * Gets the value of the specified `FiberRef` in this collection of `FiberRef`
77
+ * values if it exists or `None` otherwise.
78
+ *
79
+ * @since 2.0.0
80
+ * @category getters
81
+ */
82
+ export const get: {
83
+ <A>(fiberRef: FiberRef.FiberRef<A>): (self: FiberRefs) => Option.Option<A>
84
+ <A>(self: FiberRefs, fiberRef: FiberRef.FiberRef<A>): Option.Option<A>
85
+ } = internal.get
86
+
87
+ /**
88
+ * Gets the value of the specified `FiberRef` in this collection of `FiberRef`
89
+ * values if it exists or the `initial` value of the `FiberRef` otherwise.
90
+ *
91
+ * @since 2.0.0
92
+ * @category getters
93
+ */
94
+ export const getOrDefault: {
95
+ <A>(fiberRef: FiberRef.FiberRef<A>): (self: FiberRefs) => A
96
+ <A>(self: FiberRefs, fiberRef: FiberRef.FiberRef<A>): A
97
+ } = internal.getOrDefault
98
+
99
+ /**
100
+ * Joins this collection of fiber refs to the specified collection, as the
101
+ * specified fiber id. This will perform diffing and merging to ensure
102
+ * preservation of maximum information from both child and parent refs.
103
+ *
104
+ * @since 2.0.0
105
+ * @category utils
106
+ */
107
+ export const joinAs: {
108
+ (fiberId: FiberId.Single, that: FiberRefs): (self: FiberRefs) => FiberRefs
109
+ (self: FiberRefs, fiberId: FiberId.Single, that: FiberRefs): FiberRefs
110
+ } = internal.joinAs
111
+
112
+ /**
113
+ * Set each ref to either its value or its default.
114
+ *
115
+ * @since 2.0.0
116
+ * @category utils
117
+ */
118
+ export const setAll: (self: FiberRefs) => Effect.Effect<void> = internal.setAll
119
+
120
+ /**
121
+ * Updates the value of the specified `FiberRef` using the provided `FiberId`
122
+ *
123
+ * @since 2.0.0
124
+ * @category utils
125
+ */
126
+ export const updateAs: {
127
+ <A>(
128
+ options: {
129
+ readonly fiberId: FiberId.Single
130
+ readonly fiberRef: FiberRef.FiberRef<A>
131
+ readonly value: A
132
+ }
133
+ ): (self: FiberRefs) => FiberRefs
134
+ <A>(
135
+ self: FiberRefs,
136
+ options: {
137
+ readonly fiberId: FiberId.Single
138
+ readonly fiberRef: FiberRef.FiberRef<A>
139
+ readonly value: A
140
+ }
141
+ ): FiberRefs
142
+ } = internal.updateAs
143
+
144
+ /**
145
+ * Updates the values of the specified `FiberRef` & value pairs using the provided `FiberId`
146
+ *
147
+ * @since 2.0.0
148
+ * @category utils
149
+ */
150
+ export const updateManyAs: {
151
+ (
152
+ options: {
153
+ readonly forkAs?: FiberId.Single | undefined
154
+ readonly entries: readonly [
155
+ readonly [
156
+ FiberRef.FiberRef<any>,
157
+ readonly [readonly [FiberId.Single, any], ...Array<readonly [FiberId.Single, any]>]
158
+ ],
159
+ ...Array<
160
+ readonly [
161
+ FiberRef.FiberRef<any>,
162
+ readonly [readonly [FiberId.Single, any], ...Array<readonly [FiberId.Single, any]>]
163
+ ]
164
+ >
165
+ ]
166
+ }
167
+ ): (self: FiberRefs) => FiberRefs
168
+ (
169
+ self: FiberRefs,
170
+ options: {
171
+ readonly forkAs?: FiberId.Single | undefined
172
+ readonly entries: readonly [
173
+ readonly [
174
+ FiberRef.FiberRef<any>,
175
+ readonly [readonly [FiberId.Single, any], ...Array<readonly [FiberId.Single, any]>]
176
+ ],
177
+ ...Array<
178
+ readonly [
179
+ FiberRef.FiberRef<any>,
180
+ readonly [readonly [FiberId.Single, any], ...Array<readonly [FiberId.Single, any]>]
181
+ ]
182
+ >
183
+ ]
184
+ }
185
+ ): FiberRefs
186
+ } = internal.updateManyAs
187
+
188
+ /**
189
+ * Note: it will not copy the provided Map, make sure to provide a fresh one.
190
+ *
191
+ * @since 2.0.0
192
+ * @category unsafe
193
+ */
194
+ export const unsafeMake: (
195
+ fiberRefLocals: Map<FiberRef.FiberRef<any>, Arr.NonEmptyReadonlyArray<readonly [FiberId.Single, any]>>
196
+ ) => FiberRefs = internal.unsafeMake
197
+
198
+ /**
199
+ * The empty collection of `FiberRef` values.
200
+ *
201
+ * @category constructors
202
+ * @since 2.0.0
203
+ */
204
+ export const empty: () => FiberRefs = internal.empty