@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
package/src/Runtime.ts ADDED
@@ -0,0 +1,383 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type { Cause } from "./Cause.js"
5
+ import type * as Context from "./Context.js"
6
+ import type * as Effect from "./Effect.js"
7
+ import type * as Exit from "./Exit.js"
8
+ import type * as Fiber from "./Fiber.js"
9
+ import type * as FiberId from "./FiberId.js"
10
+ import type * as FiberRef from "./FiberRef.js"
11
+ import type * as FiberRefs from "./FiberRefs.js"
12
+ import type { Inspectable } from "./Inspectable.js"
13
+ import * as internal from "./internal/runtime.js"
14
+ import type { Pipeable } from "./Pipeable.js"
15
+ import type * as RuntimeFlags from "./RuntimeFlags.js"
16
+ import type { Scheduler } from "./Scheduler.js"
17
+ import type { Scope } from "./Scope.js"
18
+
19
+ /**
20
+ * @since 2.0.0
21
+ * @category models
22
+ */
23
+ export interface AsyncFiberException<out A, out E = never> {
24
+ readonly _tag: "AsyncFiberException"
25
+ readonly fiber: Fiber.RuntimeFiber<A, E>
26
+ }
27
+
28
+ /**
29
+ * @since 2.0.0
30
+ * @category models
31
+ */
32
+ export interface Cancel<out A, out E = never> {
33
+ (fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined): void
34
+ }
35
+
36
+ /**
37
+ * @since 2.0.0
38
+ * @category models
39
+ */
40
+ export interface Runtime<in R> extends Pipeable {
41
+ /**
42
+ * The context used as initial for forks
43
+ */
44
+ readonly context: Context.Context<R>
45
+ /**
46
+ * The runtime flags used as initial for forks
47
+ */
48
+ readonly runtimeFlags: RuntimeFlags.RuntimeFlags
49
+ /**
50
+ * The fiber references used as initial for forks
51
+ */
52
+ readonly fiberRefs: FiberRefs.FiberRefs
53
+ }
54
+
55
+ /**
56
+ * @since 3.12.0
57
+ */
58
+ export declare namespace Runtime {
59
+ /**
60
+ * @since 3.12.0
61
+ * @category Type Extractors
62
+ */
63
+ export type Context<T extends Runtime<never>> = [T] extends [Runtime<infer R>] ? R : never
64
+ }
65
+
66
+ /**
67
+ * @since 2.0.0
68
+ * @category models
69
+ */
70
+ export interface RunForkOptions {
71
+ readonly scheduler?: Scheduler | undefined
72
+ readonly updateRefs?: ((refs: FiberRefs.FiberRefs, fiberId: FiberId.Runtime) => FiberRefs.FiberRefs) | undefined
73
+ readonly immediate?: boolean
74
+ readonly scope?: Scope
75
+ }
76
+
77
+ /**
78
+ * Executes the effect using the provided Scheduler or using the global
79
+ * Scheduler if not provided
80
+ *
81
+ * @since 2.0.0
82
+ * @category execution
83
+ */
84
+ export const runFork: {
85
+ <R>(
86
+ runtime: Runtime<R>
87
+ ): <A, E>(effect: Effect.Effect<A, E, R>, options?: RunForkOptions | undefined) => Fiber.RuntimeFiber<A, E>
88
+ <R, A, E>(
89
+ runtime: Runtime<R>,
90
+ effect: Effect.Effect<A, E, R>,
91
+ options?: RunForkOptions | undefined
92
+ ): Fiber.RuntimeFiber<A, E>
93
+ } = internal.unsafeFork
94
+
95
+ /**
96
+ * Executes the effect synchronously returning the exit.
97
+ *
98
+ * This method is effectful and should only be invoked at the edges of your
99
+ * program.
100
+ *
101
+ * @since 2.0.0
102
+ * @category execution
103
+ */
104
+ export const runSyncExit: {
105
+ <A, E, R>(runtime: Runtime<R>, effect: Effect.Effect<A, E, R>): Exit.Exit<A, E>
106
+ <R>(runtime: Runtime<R>): <A, E>(effect: Effect.Effect<A, E, R>) => Exit.Exit<A, E>
107
+ } = internal.unsafeRunSyncExit
108
+
109
+ /**
110
+ * Executes the effect synchronously throwing in case of errors or async boundaries.
111
+ *
112
+ * This method is effectful and should only be invoked at the edges of your
113
+ * program.
114
+ *
115
+ * @since 2.0.0
116
+ * @category execution
117
+ */
118
+ export const runSync: {
119
+ <A, E, R>(runtime: Runtime<R>, effect: Effect.Effect<A, E, R>): A
120
+ <R>(runtime: Runtime<R>): <A, E>(effect: Effect.Effect<A, E, R>) => A
121
+ } = internal.unsafeRunSync
122
+
123
+ /**
124
+ * @since 2.0.0
125
+ * @category models
126
+ */
127
+ export interface RunCallbackOptions<in A, in E = never> extends RunForkOptions {
128
+ readonly onExit?: ((exit: Exit.Exit<A, E>) => void) | undefined
129
+ }
130
+
131
+ /**
132
+ * Executes the effect asynchronously, eventually passing the exit value to
133
+ * the specified callback.
134
+ *
135
+ * This method is effectful and should only be invoked at the edges of your
136
+ * program.
137
+ *
138
+ * @since 2.0.0
139
+ * @category execution
140
+ */
141
+ export const runCallback: {
142
+ <R>(
143
+ runtime: Runtime<R>
144
+ ): <A, E>(
145
+ effect: Effect.Effect<A, E, R>,
146
+ options?: RunCallbackOptions<A, E> | undefined
147
+ ) => (fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined) => void
148
+ <R, A, E>(
149
+ runtime: Runtime<R>,
150
+ effect: Effect.Effect<A, E, R>,
151
+ options?: RunCallbackOptions<A, E> | undefined
152
+ ): (fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined) => void
153
+ } = internal.unsafeRunCallback
154
+
155
+ /**
156
+ * Runs the `Effect`, returning a JavaScript `Promise` that will be resolved
157
+ * with the value of the effect once the effect has been executed, or will be
158
+ * rejected with the first error or exception throw by the effect.
159
+ *
160
+ * This method is effectful and should only be used at the edges of your
161
+ * program.
162
+ *
163
+ * @since 2.0.0
164
+ * @category execution
165
+ */
166
+ export const runPromise: {
167
+ <R>(
168
+ runtime: Runtime<R>
169
+ ): <A, E>(effect: Effect.Effect<A, E, R>, options?: { readonly signal?: AbortSignal } | undefined) => Promise<A>
170
+ <R, A, E>(
171
+ runtime: Runtime<R>,
172
+ effect: Effect.Effect<A, E, R>,
173
+ options?: { readonly signal?: AbortSignal } | undefined
174
+ ): Promise<A>
175
+ } = internal.unsafeRunPromise
176
+
177
+ /**
178
+ * Runs the `Effect`, returning a JavaScript `Promise` that will be resolved
179
+ * with the `Exit` state of the effect once the effect has been executed.
180
+ *
181
+ * This method is effectful and should only be used at the edges of your
182
+ * program.
183
+ *
184
+ * @since 2.0.0
185
+ * @category execution
186
+ */
187
+ export const runPromiseExit: {
188
+ <R>(
189
+ runtime: Runtime<R>
190
+ ): <A, E>(
191
+ effect: Effect.Effect<A, E, R>,
192
+ options?: { readonly signal?: AbortSignal } | undefined
193
+ ) => Promise<Exit.Exit<A, E>>
194
+ <R, A, E>(
195
+ runtime: Runtime<R>,
196
+ effect: Effect.Effect<A, E, R>,
197
+ options?: { readonly signal?: AbortSignal } | undefined
198
+ ): Promise<Exit.Exit<A, E>>
199
+ } = internal.unsafeRunPromiseExit
200
+
201
+ /**
202
+ * @since 2.0.0
203
+ * @category constructors
204
+ */
205
+ export const defaultRuntime: Runtime<never> = internal.defaultRuntime
206
+
207
+ /**
208
+ * @since 2.0.0
209
+ * @category constructors
210
+ */
211
+ export const defaultRuntimeFlags: RuntimeFlags.RuntimeFlags = internal.defaultRuntimeFlags
212
+
213
+ /**
214
+ * @since 2.0.0
215
+ * @category constructors
216
+ */
217
+ export const make: <R>(
218
+ options: {
219
+ readonly context: Context.Context<R>
220
+ readonly runtimeFlags: RuntimeFlags.RuntimeFlags
221
+ readonly fiberRefs: FiberRefs.FiberRefs
222
+ }
223
+ ) => Runtime<R> = internal.make
224
+
225
+ /**
226
+ * @since 2.0.0
227
+ * @category symbols
228
+ */
229
+ export const FiberFailureId = Symbol.for("effect/Runtime/FiberFailure")
230
+ /**
231
+ * @since 2.0.0
232
+ * @category symbols
233
+ */
234
+ export type FiberFailureId = typeof FiberFailureId
235
+
236
+ /**
237
+ * @since 2.0.0
238
+ * @category symbols
239
+ */
240
+ export const FiberFailureCauseId: unique symbol = internal.FiberFailureCauseId
241
+
242
+ /**
243
+ * @since 2.0.0
244
+ * @category exports
245
+ */
246
+ export type FiberFailureCauseId = typeof FiberFailureCauseId
247
+
248
+ /**
249
+ * @since 2.0.0
250
+ * @category models
251
+ */
252
+ export interface FiberFailure extends Error, Inspectable {
253
+ readonly [FiberFailureId]: FiberFailureId
254
+ readonly [FiberFailureCauseId]: Cause<unknown>
255
+ }
256
+
257
+ /**
258
+ * @since 2.0.0
259
+ * @category guards
260
+ */
261
+ export const isAsyncFiberException: (u: unknown) => u is AsyncFiberException<unknown, unknown> =
262
+ internal.isAsyncFiberException
263
+
264
+ /**
265
+ * @since 2.0.0
266
+ * @category guards
267
+ */
268
+ export const isFiberFailure: (u: unknown) => u is FiberFailure = internal.isFiberFailure
269
+
270
+ /**
271
+ * @since 2.0.0
272
+ * @category constructors
273
+ */
274
+ export const makeFiberFailure: <E>(cause: Cause<E>) => FiberFailure = internal.fiberFailure
275
+
276
+ /**
277
+ * @since 2.0.0
278
+ * @category runtime flags
279
+ */
280
+ export const updateRuntimeFlags: {
281
+ (f: (flags: RuntimeFlags.RuntimeFlags) => RuntimeFlags.RuntimeFlags): <R>(self: Runtime<R>) => Runtime<R>
282
+ <R>(self: Runtime<R>, f: (flags: RuntimeFlags.RuntimeFlags) => RuntimeFlags.RuntimeFlags): Runtime<R>
283
+ } = internal.updateRuntimeFlags
284
+
285
+ /**
286
+ * @since 2.0.0
287
+ * @category runtime flags
288
+ */
289
+ export const enableRuntimeFlag: {
290
+ (flag: RuntimeFlags.RuntimeFlag): <R>(self: Runtime<R>) => Runtime<R>
291
+ <R>(self: Runtime<R>, flag: RuntimeFlags.RuntimeFlag): Runtime<R>
292
+ } = internal.enableRuntimeFlag
293
+
294
+ /**
295
+ * @since 2.0.0
296
+ * @category runtime flags
297
+ */
298
+ export const disableRuntimeFlag: {
299
+ (flag: RuntimeFlags.RuntimeFlag): <R>(self: Runtime<R>) => Runtime<R>
300
+ <R>(self: Runtime<R>, flag: RuntimeFlags.RuntimeFlag): Runtime<R>
301
+ } = internal.disableRuntimeFlag
302
+
303
+ /**
304
+ * @since 2.0.0
305
+ * @category context
306
+ */
307
+ export const updateContext: {
308
+ <R, R2>(f: (context: Context.Context<R>) => Context.Context<R2>): (self: Runtime<R>) => Runtime<R2>
309
+ <R, R2>(self: Runtime<R>, f: (context: Context.Context<R>) => Context.Context<R2>): Runtime<R2>
310
+ } = internal.updateContext
311
+
312
+ /**
313
+ * @since 2.0.0
314
+ * @category context
315
+ * @example
316
+ * ```ts
317
+ * import { Context, Runtime } from "effect"
318
+ *
319
+ * class Name extends Context.Tag("Name")<Name, string>() {}
320
+ *
321
+ * const runtime: Runtime.Runtime<Name> = Runtime.defaultRuntime.pipe(
322
+ * Runtime.provideService(Name, "John")
323
+ * )
324
+ * ```
325
+ */
326
+ export const provideService: {
327
+ <I, S>(tag: Context.Tag<I, S>, service: S): <R>(self: Runtime<R>) => Runtime<I | R>
328
+ <R, I, S>(self: Runtime<R>, tag: Context.Tag<I, S>, service: S): Runtime<R | I>
329
+ } = internal.provideService
330
+
331
+ /**
332
+ * @since 2.0.0
333
+ * @category fiber refs
334
+ */
335
+ export const updateFiberRefs: {
336
+ (f: (fiberRefs: FiberRefs.FiberRefs) => FiberRefs.FiberRefs): <R>(self: Runtime<R>) => Runtime<R>
337
+ <R>(self: Runtime<R>, f: (fiberRefs: FiberRefs.FiberRefs) => FiberRefs.FiberRefs): Runtime<R>
338
+ } = internal.updateFiberRefs
339
+
340
+ /**
341
+ * @since 2.0.0
342
+ * @category fiber refs
343
+ * @example
344
+ * ```ts
345
+ * import { Effect, FiberRef, Runtime } from "effect"
346
+ *
347
+ * const ref = FiberRef.unsafeMake(0)
348
+ *
349
+ * const updatedRuntime = Runtime.defaultRuntime.pipe(
350
+ * Runtime.setFiberRef(ref, 1)
351
+ * )
352
+ *
353
+ * // returns 1
354
+ * const result = Runtime.runSync(updatedRuntime)(FiberRef.get(ref))
355
+ * ```
356
+ */
357
+ export const setFiberRef: {
358
+ <A>(fiberRef: FiberRef.FiberRef<A>, value: A): <R>(self: Runtime<R>) => Runtime<R>
359
+ <R, A>(self: Runtime<R>, fiberRef: FiberRef.FiberRef<A>, value: A): Runtime<R>
360
+ } = internal.setFiberRef
361
+
362
+ /**
363
+ * @since 2.0.0
364
+ * @category fiber refs
365
+ * @example
366
+ * ```ts
367
+ * import { Effect, FiberRef, Runtime } from "effect"
368
+ *
369
+ * const ref = FiberRef.unsafeMake(0)
370
+ *
371
+ * const updatedRuntime = Runtime.defaultRuntime.pipe(
372
+ * Runtime.setFiberRef(ref, 1),
373
+ * Runtime.deleteFiberRef(ref)
374
+ * )
375
+ *
376
+ * // returns 0
377
+ * const result = Runtime.runSync(updatedRuntime)(FiberRef.get(ref))
378
+ * ```
379
+ */
380
+ export const deleteFiberRef: {
381
+ <A>(fiberRef: FiberRef.FiberRef<A>): <R>(self: Runtime<R>) => Runtime<R>
382
+ <R, A>(self: Runtime<R>, fiberRef: FiberRef.FiberRef<A>): Runtime<R>
383
+ } = internal.deleteFiberRef
@@ -0,0 +1,336 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+
5
+ import type * as Differ from "./Differ.js"
6
+ import * as circular from "./internal/layer/circular.js"
7
+ import * as internal from "./internal/runtimeFlags.js"
8
+ import type * as Layer from "./Layer.js"
9
+ import type * as RuntimeFlagsPatch from "./RuntimeFlagsPatch.js"
10
+
11
+ /**
12
+ * Represents a set of `RuntimeFlag`s. `RuntimeFlag`s affect the operation of
13
+ * the Effect runtime system. They are exposed to application-level code because
14
+ * they affect the behavior and performance of application code.
15
+ *
16
+ * @since 2.0.0
17
+ * @category models
18
+ */
19
+ export type RuntimeFlags = number & {
20
+ readonly RuntimeFlags: unique symbol
21
+ }
22
+
23
+ /**
24
+ * Represents a flag that can be set to enable or disable a particular feature
25
+ * of the Effect runtime.
26
+ *
27
+ * @since 2.0.0
28
+ * @category models
29
+ */
30
+ export type RuntimeFlag = number & {
31
+ readonly RuntimeFlag: unique symbol
32
+ }
33
+
34
+ /**
35
+ * No runtime flags.
36
+ *
37
+ * @since 2.0.0
38
+ * @category constructors
39
+ */
40
+ export const None: RuntimeFlag = internal.None
41
+
42
+ /**
43
+ * The interruption flag determines whether or not the Effect runtime system will
44
+ * interrupt a fiber.
45
+ *
46
+ * @since 2.0.0
47
+ * @category constructors
48
+ */
49
+ export const Interruption: RuntimeFlag = internal.Interruption
50
+
51
+ /**
52
+ * The op supervision flag determines whether or not the Effect runtime system
53
+ * will supervise all operations of the Effect runtime. Use of this flag will
54
+ * negatively impact performance, but is required for some operations, such as
55
+ * profiling.
56
+ *
57
+ * @since 2.0.0
58
+ * @category constructors
59
+ */
60
+ export const OpSupervision: RuntimeFlag = internal.OpSupervision
61
+
62
+ /**
63
+ * The runtime metrics flag determines whether or not the Effect runtime system
64
+ * will collect metrics about the Effect runtime. Use of this flag will have a
65
+ * very small negative impact on performance, but generates very helpful
66
+ * operational insight into running Effect applications that can be exported to
67
+ * Prometheus or other tools via Effect Metrics.
68
+ *
69
+ * @since 2.0.0
70
+ * @category constructors
71
+ */
72
+ export const RuntimeMetrics: RuntimeFlag = internal.RuntimeMetrics
73
+
74
+ /**
75
+ * The wind down flag determines whether the Effect runtime system will execute
76
+ * effects in wind-down mode. In wind-down mode, even if interruption is
77
+ * enabled and a fiber has been interrupted, the fiber will continue its
78
+ * execution uninterrupted.
79
+ *
80
+ * @since 2.0.0
81
+ * @category constructors
82
+ */
83
+ export const WindDown: RuntimeFlag = internal.WindDown
84
+
85
+ /**
86
+ * The cooperative yielding flag determines whether the Effect runtime will
87
+ * yield to another fiber.
88
+ *
89
+ * @since 2.0.0
90
+ * @category constructors
91
+ */
92
+ export const CooperativeYielding: RuntimeFlag = internal.CooperativeYielding
93
+
94
+ /**
95
+ * Returns `true` if the `CooperativeYielding` `RuntimeFlag` is enabled, `false`
96
+ * otherwise.
97
+ *
98
+ * @since 2.0.0
99
+ * @category getters
100
+ */
101
+ export const cooperativeYielding: (self: RuntimeFlags) => boolean = internal.cooperativeYielding
102
+
103
+ /**
104
+ * Creates a `RuntimeFlagsPatch` which describes the difference between `self`
105
+ * and `that`.
106
+ *
107
+ * @since 2.0.0
108
+ * @category diffing
109
+ */
110
+ export const diff: {
111
+ (that: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlagsPatch.RuntimeFlagsPatch
112
+ (self: RuntimeFlags, that: RuntimeFlags): RuntimeFlagsPatch.RuntimeFlagsPatch
113
+ } = internal.diff
114
+
115
+ /**
116
+ * Constructs a differ that knows how to diff `RuntimeFlags` values.
117
+ *
118
+ * @since 2.0.0
119
+ * @category utils
120
+ */
121
+ export const differ: Differ.Differ<RuntimeFlags, RuntimeFlagsPatch.RuntimeFlagsPatch> = internal.differ
122
+
123
+ /**
124
+ * Disables the specified `RuntimeFlag`.
125
+ *
126
+ * @since 2.0.0
127
+ * @category utils
128
+ */
129
+ export const disable: {
130
+ (flag: RuntimeFlag): (self: RuntimeFlags) => RuntimeFlags
131
+ (self: RuntimeFlags, flag: RuntimeFlag): RuntimeFlags
132
+ } = internal.disable
133
+
134
+ /**
135
+ * Disables all of the `RuntimeFlag`s in the specified set of `RuntimeFlags`.
136
+ *
137
+ * @since 2.0.0
138
+ * @category utils
139
+ */
140
+ export const disableAll: {
141
+ (flags: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlags
142
+ (self: RuntimeFlags, flags: RuntimeFlags): RuntimeFlags
143
+ } = internal.disableAll
144
+
145
+ /**
146
+ * @since 2.0.0
147
+ * @category context
148
+ */
149
+ export const disableCooperativeYielding: Layer.Layer<never> = circular.disableCooperativeYielding
150
+
151
+ /**
152
+ * @since 2.0.0
153
+ * @category context
154
+ */
155
+ export const disableInterruption: Layer.Layer<never> = circular.disableInterruption
156
+
157
+ /**
158
+ * @since 2.0.0
159
+ * @category context
160
+ */
161
+ export const disableOpSupervision: Layer.Layer<never> = circular.disableOpSupervision
162
+
163
+ /**
164
+ * @since 2.0.0
165
+ * @category context
166
+ */
167
+ export const disableRuntimeMetrics: Layer.Layer<never> = circular.disableRuntimeMetrics
168
+
169
+ /**
170
+ * @since 2.0.0
171
+ * @category context
172
+ */
173
+ export const disableWindDown: Layer.Layer<never> = circular.disableWindDown
174
+
175
+ /**
176
+ * Enables the specified `RuntimeFlag`.
177
+ *
178
+ * @since 2.0.0
179
+ * @category utils
180
+ */
181
+ export const enable: {
182
+ (flag: RuntimeFlag): (self: RuntimeFlags) => RuntimeFlags
183
+ (self: RuntimeFlags, flag: RuntimeFlag): RuntimeFlags
184
+ } = internal.enable
185
+
186
+ /**
187
+ * Enables all of the `RuntimeFlag`s in the specified set of `RuntimeFlags`.
188
+ *
189
+ * @since 2.0.0
190
+ * @category utils
191
+ */
192
+ export const enableAll: {
193
+ (flags: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlags
194
+ (self: RuntimeFlags, flags: RuntimeFlags): RuntimeFlags
195
+ } = internal.enableAll
196
+
197
+ /**
198
+ * @since 2.0.0
199
+ * @category context
200
+ */
201
+ export const enableCooperativeYielding: Layer.Layer<never> = circular.enableCooperativeYielding
202
+
203
+ /**
204
+ * @since 2.0.0
205
+ * @category context
206
+ */
207
+ export const enableInterruption: Layer.Layer<never> = circular.enableInterruption
208
+
209
+ /**
210
+ * @since 2.0.0
211
+ * @category context
212
+ */
213
+ export const enableOpSupervision: Layer.Layer<never> = circular.enableOpSupervision
214
+
215
+ /**
216
+ * @since 2.0.0
217
+ * @category context
218
+ */
219
+ export const enableRuntimeMetrics: Layer.Layer<never> = circular.enableRuntimeMetrics
220
+
221
+ /**
222
+ * @since 2.0.0
223
+ * @category context
224
+ */
225
+ export const enableWindDown: Layer.Layer<never> = circular.enableWindDown
226
+
227
+ /**
228
+ * Returns true only if the `Interruption` flag is **enabled** and the
229
+ * `WindDown` flag is **disabled**.
230
+ *
231
+ * A fiber is said to be interruptible if interruption is enabled and the fiber
232
+ * is not in its wind-down phase, in which it takes care of cleanup activities
233
+ * related to fiber shutdown.
234
+ *
235
+ * @since 2.0.0
236
+ * @category getters
237
+ */
238
+ export const interruptible: (self: RuntimeFlags) => boolean = internal.interruptible
239
+
240
+ /**
241
+ * Returns `true` if the `Interruption` `RuntimeFlag` is enabled, `false`
242
+ * otherwise.
243
+ *
244
+ * @since 2.0.0
245
+ * @category getters
246
+ */
247
+ export const interruption: (self: RuntimeFlags) => boolean = internal.interruption
248
+
249
+ /**
250
+ * Returns `true` if the specified `RuntimeFlag` is enabled, `false` otherwise.
251
+ *
252
+ * @since 2.0.0
253
+ * @category elements
254
+ */
255
+ export const isEnabled: {
256
+ (flag: RuntimeFlag): (self: RuntimeFlags) => boolean
257
+ (self: RuntimeFlags, flag: RuntimeFlag): boolean
258
+ } = internal.isEnabled
259
+
260
+ /**
261
+ * Returns `true` if the specified `RuntimeFlag` is disabled, `false` otherwise.
262
+ *
263
+ * @since 2.0.0
264
+ * @category elements
265
+ */
266
+ export const isDisabled: {
267
+ (flag: RuntimeFlag): (self: RuntimeFlags) => boolean
268
+ (self: RuntimeFlags, flag: RuntimeFlag): boolean
269
+ } = internal.isDisabled
270
+
271
+ /**
272
+ * @since 2.0.0
273
+ * @category constructors
274
+ */
275
+ export const make: (...flags: ReadonlyArray<RuntimeFlag>) => RuntimeFlags = internal.make
276
+
277
+ /**
278
+ * @since 2.0.0
279
+ * @category constructors
280
+ */
281
+ export const none: RuntimeFlags = internal.none
282
+
283
+ /**
284
+ * Returns `true` if the `OpSupervision` `RuntimeFlag` is enabled, `false`
285
+ * otherwise.
286
+ *
287
+ * @since 2.0.0
288
+ * @category getters
289
+ */
290
+ export const opSupervision: (self: RuntimeFlags) => boolean = internal.opSupervision
291
+
292
+ /**
293
+ * Patches a set of `RuntimeFlag`s with a `RuntimeFlagsPatch`, returning the
294
+ * patched set of `RuntimeFlag`s.
295
+ *
296
+ * @since 2.0.0
297
+ * @category utils
298
+ */
299
+ export const patch: {
300
+ (patch: RuntimeFlagsPatch.RuntimeFlagsPatch): (self: RuntimeFlags) => RuntimeFlags
301
+ (self: RuntimeFlags, patch: RuntimeFlagsPatch.RuntimeFlagsPatch): RuntimeFlags
302
+ } = internal.patch
303
+
304
+ /**
305
+ * Converts the provided `RuntimeFlags` into a `string`.
306
+ *
307
+ * @category conversions
308
+ * @since 2.0.0
309
+ */
310
+ export const render: (self: RuntimeFlags) => string = internal.render
311
+
312
+ /**
313
+ * Returns `true` if the `RuntimeMetrics` `RuntimeFlag` is enabled, `false`
314
+ * otherwise.
315
+ *
316
+ * @since 2.0.0
317
+ * @category getters
318
+ */
319
+ export const runtimeMetrics: (self: RuntimeFlags) => boolean = internal.runtimeMetrics
320
+
321
+ /**
322
+ * Converts the provided `RuntimeFlags` into a `ReadonlySet<number>`.
323
+ *
324
+ * @category conversions
325
+ * @since 2.0.0
326
+ */
327
+ export const toSet: (self: RuntimeFlags) => ReadonlySet<RuntimeFlag> = internal.toSet
328
+
329
+ /**
330
+ * Returns `true` if the `WindDown` `RuntimeFlag` is enabled, `false`
331
+ * otherwise.
332
+ *
333
+ * @since 2.0.0
334
+ * @category getters
335
+ */
336
+ export const windDown: (self: RuntimeFlags) => boolean = internal.windDown