@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,240 @@
1
+ /**
2
+ * A `Supervisor<T>` is allowed to supervise the launching and termination of
3
+ * fibers, producing some visible value of type `T` from the supervision.
4
+ *
5
+ * @since 2.0.0
6
+ */
7
+ import type * as Context from "./Context.js"
8
+ import type * as Effect from "./Effect.js"
9
+ import type * as Exit from "./Exit.js"
10
+ import type * as Fiber from "./Fiber.js"
11
+ import * as core from "./internal/core.js"
12
+ import * as circular from "./internal/layer/circular.js"
13
+ import * as internal from "./internal/supervisor.js"
14
+ import type * as Layer from "./Layer.js"
15
+ import type * as MutableRef from "./MutableRef.js"
16
+ import type * as Option from "./Option.js"
17
+ import type * as SortedSet from "./SortedSet.js"
18
+ import type * as Types from "./Types.js"
19
+
20
+ /**
21
+ * @since 2.0.0
22
+ * @category symbols
23
+ */
24
+ export const SupervisorTypeId: unique symbol = internal.SupervisorTypeId
25
+
26
+ /**
27
+ * @since 2.0.0
28
+ * @category symbols
29
+ */
30
+ export type SupervisorTypeId = typeof SupervisorTypeId
31
+
32
+ /**
33
+ * @since 2.0.0
34
+ * @category models
35
+ */
36
+ export interface Supervisor<out T> extends Supervisor.Variance<T> {
37
+ /**
38
+ * Returns an `Effect` that succeeds with the value produced by this
39
+ * supervisor. This value may change over time, reflecting what the supervisor
40
+ * produces as it supervises fibers.
41
+ */
42
+ readonly value: Effect.Effect<T>
43
+
44
+ /**
45
+ * Supervises the start of a `Fiber`.
46
+ */
47
+ onStart<A, E, R>(
48
+ context: Context.Context<R>,
49
+ effect: Effect.Effect<A, E, R>,
50
+ parent: Option.Option<Fiber.RuntimeFiber<any, any>>,
51
+ fiber: Fiber.RuntimeFiber<A, E>
52
+ ): void
53
+
54
+ /**
55
+ * Supervises the end of a `Fiber`.
56
+ */
57
+ onEnd<A, E>(value: Exit.Exit<A, E>, fiber: Fiber.RuntimeFiber<A, E>): void
58
+
59
+ /**
60
+ * Supervises the execution of an `Effect` by a `Fiber`.
61
+ */
62
+ onEffect<A, E>(fiber: Fiber.RuntimeFiber<A, E>, effect: Effect.Effect<any, any, any>): void
63
+
64
+ /**
65
+ * Supervises the suspension of a computation running within a `Fiber`.
66
+ */
67
+ onSuspend<A, E>(fiber: Fiber.RuntimeFiber<A, E>): void
68
+
69
+ /**
70
+ * Supervises the resumption of a computation running within a `Fiber`.
71
+ */
72
+ onResume<A, E>(fiber: Fiber.RuntimeFiber<A, E>): void
73
+
74
+ /**
75
+ * Maps this supervisor to another one, which has the same effect, but whose
76
+ * value has been transformed by the specified function.
77
+ */
78
+ map<B>(f: (a: T) => B): Supervisor<B>
79
+
80
+ /**
81
+ * Returns a new supervisor that performs the function of this supervisor, and
82
+ * the function of the specified supervisor, producing a tuple of the outputs
83
+ * produced by both supervisors.
84
+ */
85
+ zip<A>(right: Supervisor<A>): Supervisor<[T, A]>
86
+ }
87
+
88
+ /**
89
+ * @since 2.0.0
90
+ */
91
+ export declare namespace Supervisor {
92
+ /**
93
+ * @since 2.0.0
94
+ * @category models
95
+ */
96
+ export interface Variance<out T> {
97
+ readonly [SupervisorTypeId]: {
98
+ readonly _T: Types.Covariant<T>
99
+ }
100
+ }
101
+ }
102
+
103
+ /**
104
+ * @since 2.0.0
105
+ * @category context
106
+ */
107
+ export const addSupervisor: <A>(supervisor: Supervisor<A>) => Layer.Layer<never> = circular.addSupervisor
108
+
109
+ /**
110
+ * Creates a new supervisor that tracks children in a set.
111
+ *
112
+ * @since 2.0.0
113
+ * @category constructors
114
+ */
115
+ export const fibersIn: (
116
+ ref: MutableRef.MutableRef<SortedSet.SortedSet<Fiber.RuntimeFiber<any, any>>>
117
+ ) => Effect.Effect<Supervisor<SortedSet.SortedSet<Fiber.RuntimeFiber<any, any>>>> = internal.fibersIn
118
+
119
+ /**
120
+ * Creates a new supervisor that constantly yields effect when polled
121
+ *
122
+ * @since 2.0.0
123
+ * @category constructors
124
+ */
125
+ export const fromEffect: <A>(effect: Effect.Effect<A>) => Supervisor<A> = internal.fromEffect
126
+
127
+ /**
128
+ * A supervisor that doesn't do anything in response to supervision events.
129
+ *
130
+ * @since 2.0.0
131
+ * @category constructors
132
+ */
133
+ export const none: Supervisor<void> = internal.none
134
+
135
+ /**
136
+ * Creates a new supervisor that tracks children in a set.
137
+ *
138
+ * @since 2.0.0
139
+ * @category constructors
140
+ */
141
+ export const track: Effect.Effect<Supervisor<Array<Fiber.RuntimeFiber<any, any>>>> = internal.track
142
+
143
+ /**
144
+ * Unsafely creates a new supervisor that tracks children in a set.
145
+ *
146
+ * @since 2.0.0
147
+ * @category unsafe
148
+ */
149
+ export const unsafeTrack: () => Supervisor<Array<Fiber.RuntimeFiber<any, any>>> = internal.unsafeTrack
150
+
151
+ /**
152
+ * @since 2.0.0
153
+ * @category constructors
154
+ */
155
+ export abstract class AbstractSupervisor<T> implements Supervisor<T> {
156
+ /**
157
+ * @since 2.0.0
158
+ */
159
+ abstract value: Effect.Effect<T>
160
+
161
+ /**
162
+ * @since 2.0.0
163
+ */
164
+ onStart<A, E, R>(
165
+ _context: Context.Context<R>,
166
+ _effect: Effect.Effect<A, E, R>,
167
+ _parent: Option.Option<Fiber.RuntimeFiber<any, any>>,
168
+ _fiber: Fiber.RuntimeFiber<A, E>
169
+ ): void {
170
+ //
171
+ }
172
+
173
+ /**
174
+ * @since 2.0.0
175
+ */
176
+ onEnd<A, E>(
177
+ _value: Exit.Exit<A, E>,
178
+ _fiber: Fiber.RuntimeFiber<A, E>
179
+ ): void {
180
+ //
181
+ }
182
+
183
+ /**
184
+ * @since 2.0.0
185
+ */
186
+ onEffect<A, E>(
187
+ _fiber: Fiber.RuntimeFiber<A, E>,
188
+ _effect: Effect.Effect<any, any, any>
189
+ ): void {
190
+ //
191
+ }
192
+
193
+ /**
194
+ * @since 2.0.0
195
+ */
196
+ onSuspend<A, E>(
197
+ _fiber: Fiber.RuntimeFiber<A, E>
198
+ ): void {
199
+ //
200
+ }
201
+
202
+ /**
203
+ * @since 2.0.0
204
+ */
205
+ onResume<A, E>(
206
+ _fiber: Fiber.RuntimeFiber<A, E>
207
+ ): void {
208
+ //
209
+ }
210
+
211
+ /**
212
+ * @since 2.0.0
213
+ */
214
+ map<B>(f: (a: T) => B): Supervisor<B> {
215
+ return new internal.ProxySupervisor(this, core.map(this.value, f))
216
+ }
217
+
218
+ /**
219
+ * @since 2.0.0
220
+ */
221
+ zip<A>(
222
+ right: Supervisor<A>
223
+ ): Supervisor<[T, A]> {
224
+ return new internal.Zip(this, right)
225
+ }
226
+
227
+ /**
228
+ * @since 2.0.0
229
+ */
230
+ onRun<E, A, X>(execution: () => X, _fiber: Fiber.RuntimeFiber<A, E>): X {
231
+ return execution()
232
+ }
233
+
234
+ /**
235
+ * @since 2.0.0
236
+ */
237
+ readonly [SupervisorTypeId]: {
238
+ _T: (_: never) => never
239
+ } = internal.supervisorVariance
240
+ }
package/src/Symbol.ts ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+
5
+ import * as equivalence from "./Equivalence.js"
6
+ import * as predicate from "./Predicate.js"
7
+
8
+ /**
9
+ * Tests if a value is a `symbol`.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import * as assert from "node:assert"
14
+ * import { Predicate } from "effect"
15
+ *
16
+ * assert.deepStrictEqual(Predicate.isSymbol(Symbol.for("a")), true)
17
+ * assert.deepStrictEqual(Predicate.isSymbol("a"), false)
18
+ * ```
19
+ *
20
+ * @category guards
21
+ * @since 2.0.0
22
+ */
23
+ export const isSymbol: (u: unknown) => u is symbol = predicate.isSymbol
24
+
25
+ /**
26
+ * @category instances
27
+ * @since 2.0.0
28
+ */
29
+ export const Equivalence: equivalence.Equivalence<symbol> = equivalence.symbol
@@ -0,0 +1,270 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Effect from "./Effect.js"
5
+ import * as circular from "./internal/effect/circular.js"
6
+ import * as ref from "./internal/ref.js"
7
+ import * as internal from "./internal/synchronizedRef.js"
8
+ import type * as Option from "./Option.js"
9
+ import type * as Ref from "./Ref.js"
10
+ import type * as Types from "./Types.js"
11
+ import type * as Unify from "./Unify.js"
12
+
13
+ /**
14
+ * @since 2.0.0
15
+ * @category symbols
16
+ */
17
+ export const SynchronizedRefTypeId: unique symbol = circular.SynchronizedTypeId
18
+
19
+ /**
20
+ * @since 2.0.0
21
+ * @category symbols
22
+ */
23
+ export type SynchronizedRefTypeId = typeof SynchronizedRefTypeId
24
+
25
+ /**
26
+ * @since 2.0.0
27
+ * @category models
28
+ */
29
+ export interface SynchronizedRef<in out A> extends SynchronizedRef.Variance<A>, Ref.Ref<A> {
30
+ modifyEffect<B, E, R>(f: (a: A) => Effect.Effect<readonly [B, A], E, R>): Effect.Effect<B, E, R>
31
+ readonly [Unify.typeSymbol]?: unknown
32
+ readonly [Unify.unifySymbol]?: SynchronizedRefUnify<this>
33
+ readonly [Unify.ignoreSymbol]?: SynchronizedRefUnifyIgnore
34
+ }
35
+
36
+ /**
37
+ * @category models
38
+ * @since 3.8.0
39
+ */
40
+ export interface SynchronizedRefUnify<A extends { [Unify.typeSymbol]?: any }> extends Ref.RefUnify<A> {
41
+ SynchronizedRef?: () => Extract<A[Unify.typeSymbol], SynchronizedRef<any>>
42
+ }
43
+
44
+ /**
45
+ * @category models
46
+ * @since 3.8.0
47
+ */
48
+ export interface SynchronizedRefUnifyIgnore extends Ref.RefUnifyIgnore {
49
+ Ref?: true
50
+ }
51
+
52
+ /**
53
+ * @since 2.0.0
54
+ */
55
+ export declare namespace SynchronizedRef {
56
+ /**
57
+ * @since 2.0.0
58
+ * @category models
59
+ */
60
+ export interface Variance<in out A> {
61
+ readonly [SynchronizedRefTypeId]: {
62
+ readonly _A: Types.Invariant<A>
63
+ }
64
+ }
65
+ }
66
+
67
+ /**
68
+ * @since 2.0.0
69
+ * @category constructors
70
+ */
71
+ export const make: <A>(value: A) => Effect.Effect<SynchronizedRef<A>> = circular.makeSynchronized
72
+
73
+ /**
74
+ * @since 2.0.0
75
+ * @category getters
76
+ */
77
+ export const get: <A>(self: SynchronizedRef<A>) => Effect.Effect<A> = ref.get
78
+
79
+ /**
80
+ * @since 2.0.0
81
+ * @category utils
82
+ */
83
+ export const getAndSet: {
84
+ <A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<A>
85
+ <A>(self: Ref.Ref<A>, value: A): Effect.Effect<A>
86
+ } = ref.getAndSet
87
+
88
+ /**
89
+ * @since 2.0.0
90
+ * @category utils
91
+ */
92
+ export const getAndUpdate: {
93
+ <A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<A>
94
+ <A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<A>
95
+ } = ref.getAndUpdate
96
+
97
+ /**
98
+ * @since 2.0.0
99
+ * @category utils
100
+ */
101
+ export const getAndUpdateEffect: {
102
+ <A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
103
+ <A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
104
+ } = internal.getAndUpdateEffect
105
+
106
+ /**
107
+ * @since 2.0.0
108
+ * @category utils
109
+ */
110
+ export const getAndUpdateSome: {
111
+ <A>(pf: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<A>
112
+ <A>(self: Ref.Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
113
+ } = ref.getAndUpdateSome
114
+
115
+ /**
116
+ * @since 2.0.0
117
+ * @category utils
118
+ */
119
+ export const getAndUpdateSomeEffect: {
120
+ <A, R, E>(pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
121
+ <A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<A, E, R>
122
+ } = internal.getAndUpdateSomeEffect
123
+
124
+ /**
125
+ * @since 2.0.0
126
+ * @category utils
127
+ */
128
+ export const modify: {
129
+ <A, B>(f: (a: A) => readonly [B, A]): (self: SynchronizedRef<A>) => Effect.Effect<B>
130
+ <A, B>(self: SynchronizedRef<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
131
+ } = internal.modify
132
+
133
+ /**
134
+ * @since 2.0.0
135
+ * @category utils
136
+ */
137
+ export const modifyEffect: {
138
+ <A, B, E, R>(f: (a: A) => Effect.Effect<readonly [B, A], E, R>): (self: SynchronizedRef<A>) => Effect.Effect<B, E, R>
139
+ <A, B, E, R>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<readonly [B, A], E, R>): Effect.Effect<B, E, R>
140
+ } = internal.modifyEffect
141
+
142
+ /**
143
+ * @since 2.0.0
144
+ * @category utils
145
+ */
146
+ export const modifySome: {
147
+ <B, A>(
148
+ fallback: B,
149
+ pf: (a: A) => Option.Option<readonly [B, A]>
150
+ ): (self: Ref.Ref<A>) => Effect.Effect<B>
151
+ <A, B>(
152
+ self: Ref.Ref<A>,
153
+ fallback: B,
154
+ pf: (a: A) => Option.Option<readonly [B, A]>
155
+ ): Effect.Effect<B>
156
+ } = ref.modifySome
157
+
158
+ /**
159
+ * @since 2.0.0
160
+ * @category utils
161
+ */
162
+ export const modifySomeEffect: {
163
+ <A, B, R, E>(
164
+ fallback: B,
165
+ pf: (a: A) => Option.Option<Effect.Effect<readonly [B, A], E, R>>
166
+ ): (self: SynchronizedRef<A>) => Effect.Effect<B, E, R>
167
+ <A, B, R, E>(
168
+ self: SynchronizedRef<A>,
169
+ fallback: B,
170
+ pf: (a: A) => Option.Option<Effect.Effect<readonly [B, A], E, R>>
171
+ ): Effect.Effect<B, E, R>
172
+ } = internal.modifySomeEffect
173
+
174
+ /**
175
+ * @since 2.0.0
176
+ * @category utils
177
+ */
178
+ export const set: {
179
+ <A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<void>
180
+ <A>(self: Ref.Ref<A>, value: A): Effect.Effect<void>
181
+ } = ref.set
182
+
183
+ /**
184
+ * @since 2.0.0
185
+ * @category utils
186
+ */
187
+ export const setAndGet: {
188
+ <A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<A>
189
+ <A>(self: Ref.Ref<A>, value: A): Effect.Effect<A>
190
+ } = ref.setAndGet
191
+
192
+ /**
193
+ * @since 2.0.0
194
+ * @category utils
195
+ */
196
+ export const update: {
197
+ <A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<void>
198
+ <A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<void>
199
+ } = ref.update
200
+
201
+ /**
202
+ * @since 2.0.0
203
+ * @category utils
204
+ */
205
+ export const updateEffect: {
206
+ <A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<void, E, R>
207
+ <A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<void, E, R>
208
+ } = internal.updateEffect
209
+
210
+ /**
211
+ * @since 2.0.0
212
+ * @category utils
213
+ */
214
+ export const updateAndGet: {
215
+ <A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<A>
216
+ <A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<A>
217
+ } = ref.updateAndGet
218
+
219
+ /**
220
+ * @since 2.0.0
221
+ * @category utils
222
+ */
223
+ export const updateAndGetEffect: {
224
+ <A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
225
+ <A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
226
+ } = internal.updateAndGetEffect
227
+
228
+ /**
229
+ * @since 2.0.0
230
+ * @category utils
231
+ */
232
+ export const updateSome: {
233
+ <A>(f: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<void>
234
+ <A>(self: Ref.Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<void>
235
+ } = ref.updateSome
236
+
237
+ /**
238
+ * @since 2.0.0
239
+ * @category utils
240
+ */
241
+ export const updateSomeEffect: {
242
+ <A, R, E>(
243
+ pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>
244
+ ): (self: SynchronizedRef<A>) => Effect.Effect<void, E, R>
245
+ <A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<void, E, R>
246
+ } = internal.updateSomeEffect
247
+
248
+ /**
249
+ * @since 2.0.0
250
+ * @category utils
251
+ */
252
+ export const updateSomeAndGet: {
253
+ <A>(pf: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<A>
254
+ <A>(self: Ref.Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
255
+ } = ref.updateSomeAndGet
256
+
257
+ /**
258
+ * @since 2.0.0
259
+ * @category utils
260
+ */
261
+ export const updateSomeAndGetEffect: {
262
+ <A, R, E>(pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
263
+ <A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<A, E, R>
264
+ } = circular.updateSomeAndGetEffectSynchronized
265
+
266
+ /**
267
+ * @since 2.0.0
268
+ * @category unsafe
269
+ */
270
+ export const unsafeMake: <A>(value: A) => SynchronizedRef<A> = circular.unsafeMakeSynchronized