effect 2.4.18 → 3.0.0

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 (688) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Readable/package.json +6 -0
  4. package/Record/package.json +6 -0
  5. package/RegExp/package.json +6 -0
  6. package/Subscribable/package.json +6 -0
  7. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  8. package/dist/cjs/Array.js.map +1 -0
  9. package/dist/cjs/Brand.js +2 -2
  10. package/dist/cjs/Brand.js.map +1 -1
  11. package/dist/cjs/Channel.js +4 -8
  12. package/dist/cjs/Channel.js.map +1 -1
  13. package/dist/cjs/Chunk.js +5 -1
  14. package/dist/cjs/Chunk.js.map +1 -1
  15. package/dist/cjs/ConfigError.js.map +1 -1
  16. package/dist/cjs/Cron.js +13 -13
  17. package/dist/cjs/Cron.js.map +1 -1
  18. package/dist/cjs/Duration.js +39 -2
  19. package/dist/cjs/Duration.js.map +1 -1
  20. package/dist/cjs/Effect.js +14 -10
  21. package/dist/cjs/Effect.js.map +1 -1
  22. package/dist/cjs/Either.js +4 -1
  23. package/dist/cjs/Either.js.map +1 -1
  24. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  25. package/dist/cjs/Exit.js +3 -9
  26. package/dist/cjs/Exit.js.map +1 -1
  27. package/dist/cjs/Fiber.js +2 -8
  28. package/dist/cjs/Fiber.js.map +1 -1
  29. package/dist/cjs/FiberHandle.js +288 -0
  30. package/dist/cjs/FiberHandle.js.map +1 -0
  31. package/dist/cjs/FiberMap.js +86 -27
  32. package/dist/cjs/FiberMap.js.map +1 -1
  33. package/dist/cjs/FiberRefs.js.map +1 -1
  34. package/dist/cjs/FiberSet.js +51 -15
  35. package/dist/cjs/FiberSet.js.map +1 -1
  36. package/dist/cjs/HashMap.js.map +1 -1
  37. package/dist/cjs/HashSet.js.map +1 -1
  38. package/dist/cjs/Iterable.js +40 -5
  39. package/dist/cjs/Iterable.js.map +1 -1
  40. package/dist/cjs/Layer.js.map +1 -1
  41. package/dist/cjs/List.js +8 -7
  42. package/dist/cjs/List.js.map +1 -1
  43. package/dist/cjs/Metric.js +3 -1
  44. package/dist/cjs/Metric.js.map +1 -1
  45. package/dist/cjs/MetricKey.js.map +1 -1
  46. package/dist/cjs/MetricKeyType.js.map +1 -1
  47. package/dist/cjs/MutableHashMap.js +0 -4
  48. package/dist/cjs/MutableHashMap.js.map +1 -1
  49. package/dist/cjs/Option.js +3 -6
  50. package/dist/cjs/Option.js.map +1 -1
  51. package/dist/cjs/Readable.js +79 -0
  52. package/dist/cjs/Readable.js.map +1 -0
  53. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  54. package/dist/cjs/Record.js.map +1 -0
  55. package/dist/cjs/RegExp.js +24 -0
  56. package/dist/cjs/RegExp.js.map +1 -0
  57. package/dist/cjs/STM.js +4 -10
  58. package/dist/cjs/STM.js.map +1 -1
  59. package/dist/cjs/Schedule.js +2 -2
  60. package/dist/cjs/Schedule.js.map +1 -1
  61. package/dist/cjs/ScopedCache.js.map +1 -1
  62. package/dist/cjs/Stream.js +3 -9
  63. package/dist/cjs/Stream.js.map +1 -1
  64. package/dist/cjs/StreamHaltStrategy.js +2 -0
  65. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  66. package/dist/cjs/String.js +44 -2
  67. package/dist/cjs/String.js.map +1 -1
  68. package/dist/cjs/Subscribable.js +91 -0
  69. package/dist/cjs/Subscribable.js.map +1 -0
  70. package/dist/cjs/SubscriptionRef.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +2 -1
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +3 -3
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/Tracer.js.map +1 -1
  78. package/dist/cjs/index.js +14 -6
  79. package/dist/cjs/index.js.map +1 -1
  80. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  81. package/dist/cjs/internal/array.js.map +1 -0
  82. package/dist/cjs/internal/cache.js +3 -3
  83. package/dist/cjs/internal/cache.js.map +1 -1
  84. package/dist/cjs/internal/cause.js +6 -5
  85. package/dist/cjs/internal/cause.js.map +1 -1
  86. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  87. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  88. package/dist/cjs/internal/channel/channelState.js +1 -1
  89. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  90. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  91. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  92. package/dist/cjs/internal/channel.js +10 -10
  93. package/dist/cjs/internal/channel.js.map +1 -1
  94. package/dist/cjs/internal/clock.js +2 -2
  95. package/dist/cjs/internal/clock.js.map +1 -1
  96. package/dist/cjs/internal/configError.js +20 -19
  97. package/dist/cjs/internal/configError.js.map +1 -1
  98. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  99. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  100. package/dist/cjs/internal/configProvider.js +48 -49
  101. package/dist/cjs/internal/configProvider.js.map +1 -1
  102. package/dist/cjs/internal/core-effect.js +68 -40
  103. package/dist/cjs/internal/core-effect.js.map +1 -1
  104. package/dist/cjs/internal/core-stream.js +2 -3
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +41 -114
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/dataSource.js +19 -2
  109. package/dist/cjs/internal/dataSource.js.map +1 -1
  110. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  111. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  112. package/dist/cjs/internal/effect/circular.js +6 -1
  113. package/dist/cjs/internal/effect/circular.js.map +1 -1
  114. package/dist/cjs/internal/errors.js +13 -0
  115. package/dist/cjs/internal/errors.js.map +1 -0
  116. package/dist/cjs/internal/executionStrategy.js +4 -4
  117. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  118. package/dist/cjs/internal/fiber.js +5 -6
  119. package/dist/cjs/internal/fiber.js.map +1 -1
  120. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  121. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  122. package/dist/cjs/internal/fiberRefs.js +1 -1
  123. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  124. package/dist/cjs/internal/fiberRuntime.js +106 -66
  125. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  126. package/dist/cjs/internal/groupBy.js +3 -3
  127. package/dist/cjs/internal/groupBy.js.map +1 -1
  128. package/dist/cjs/internal/hashMap.js +1 -1
  129. package/dist/cjs/internal/hashMap.js.map +1 -1
  130. package/dist/cjs/internal/hashSet.js.map +1 -1
  131. package/dist/cjs/internal/layer/circular.js.map +1 -1
  132. package/dist/cjs/internal/layer.js +5 -5
  133. package/dist/cjs/internal/layer.js.map +1 -1
  134. package/dist/cjs/internal/logger.js +28 -8
  135. package/dist/cjs/internal/logger.js.map +1 -1
  136. package/dist/cjs/internal/managedRuntime.js +1 -1
  137. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  138. package/dist/cjs/internal/matcher.js +5 -4
  139. package/dist/cjs/internal/matcher.js.map +1 -1
  140. package/dist/cjs/internal/metric/boundaries.js +4 -4
  141. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  142. package/dist/cjs/internal/metric/hook.js +20 -17
  143. package/dist/cjs/internal/metric/hook.js.map +1 -1
  144. package/dist/cjs/internal/metric/key.js +4 -4
  145. package/dist/cjs/internal/metric/key.js.map +1 -1
  146. package/dist/cjs/internal/metric/keyType.js +6 -1
  147. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  148. package/dist/cjs/internal/metric/state.js +4 -4
  149. package/dist/cjs/internal/metric/state.js.map +1 -1
  150. package/dist/cjs/internal/metric.js +4 -4
  151. package/dist/cjs/internal/metric.js.map +1 -1
  152. package/dist/cjs/internal/pool.js +11 -11
  153. package/dist/cjs/internal/pool.js.map +1 -1
  154. package/dist/cjs/internal/pubsub.js +5 -5
  155. package/dist/cjs/internal/pubsub.js.map +1 -1
  156. package/dist/cjs/internal/query.js +2 -2
  157. package/dist/cjs/internal/query.js.map +1 -1
  158. package/dist/cjs/internal/queue.js +9 -9
  159. package/dist/cjs/internal/queue.js.map +1 -1
  160. package/dist/cjs/internal/rateLimiter.js +1 -1
  161. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  162. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  163. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  164. package/dist/cjs/internal/ref.js +6 -1
  165. package/dist/cjs/internal/ref.js.map +1 -1
  166. package/dist/cjs/internal/reloadable.js +1 -1
  167. package/dist/cjs/internal/reloadable.js.map +1 -1
  168. package/dist/cjs/internal/runtime.js +4 -4
  169. package/dist/cjs/internal/runtime.js.map +1 -1
  170. package/dist/cjs/internal/schedule/intervals.js +2 -1
  171. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  172. package/dist/cjs/internal/schedule.js +5 -5
  173. package/dist/cjs/internal/schedule.js.map +1 -1
  174. package/dist/cjs/internal/scopedCache.js +7 -7
  175. package/dist/cjs/internal/scopedCache.js.map +1 -1
  176. package/dist/cjs/internal/scopedRef.js +4 -4
  177. package/dist/cjs/internal/scopedRef.js.map +1 -1
  178. package/dist/cjs/internal/secret.js +2 -2
  179. package/dist/cjs/internal/secret.js.map +1 -1
  180. package/dist/cjs/internal/sink.js +10 -10
  181. package/dist/cjs/internal/sink.js.map +1 -1
  182. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  183. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  184. package/dist/cjs/internal/stm/stm.js +11 -11
  185. package/dist/cjs/internal/stm/stm.js.map +1 -1
  186. package/dist/cjs/internal/stm/tMap.js +3 -3
  187. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  188. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  189. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  190. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  191. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  192. package/dist/cjs/internal/stm/tQueue.js +3 -3
  193. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  194. package/dist/cjs/internal/stm/tSet.js +1 -1
  195. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  196. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  197. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  198. package/dist/cjs/internal/stream.js +84 -85
  199. package/dist/cjs/internal/stream.js.map +1 -1
  200. package/dist/cjs/internal/subscriptionRef.js +8 -0
  201. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  202. package/dist/cjs/internal/supervisor.js +1 -1
  203. package/dist/cjs/internal/supervisor.js.map +1 -1
  204. package/dist/cjs/internal/take.js +1 -1
  205. package/dist/cjs/internal/take.js.map +1 -1
  206. package/dist/cjs/internal/tracer.js.map +1 -1
  207. package/dist/cjs/internal/trie.js +1 -1
  208. package/dist/cjs/internal/trie.js.map +1 -1
  209. package/dist/cjs/internal/version.js +1 -1
  210. package/dist/cjs/internal/version.js.map +1 -1
  211. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
  212. package/dist/dts/Array.d.ts.map +1 -0
  213. package/dist/dts/BigDecimal.d.ts.map +1 -1
  214. package/dist/dts/BigInt.d.ts.map +1 -1
  215. package/dist/dts/Brand.d.ts +1 -19
  216. package/dist/dts/Brand.d.ts.map +1 -1
  217. package/dist/dts/Cache.d.ts +10 -10
  218. package/dist/dts/Cache.d.ts.map +1 -1
  219. package/dist/dts/Cause.d.ts +1 -1
  220. package/dist/dts/Cause.d.ts.map +1 -1
  221. package/dist/dts/Channel.d.ts +6 -4
  222. package/dist/dts/Channel.d.ts.map +1 -1
  223. package/dist/dts/Chunk.d.ts +1 -4
  224. package/dist/dts/Chunk.d.ts.map +1 -1
  225. package/dist/dts/ConfigError.d.ts +7 -6
  226. package/dist/dts/ConfigError.d.ts.map +1 -1
  227. package/dist/dts/Cron.d.ts +0 -5
  228. package/dist/dts/Cron.d.ts.map +1 -1
  229. package/dist/dts/Duration.d.ts +16 -0
  230. package/dist/dts/Duration.d.ts.map +1 -1
  231. package/dist/dts/Effect.d.ts +38 -33
  232. package/dist/dts/Effect.d.ts.map +1 -1
  233. package/dist/dts/Either.d.ts +5 -2
  234. package/dist/dts/Either.d.ts.map +1 -1
  235. package/dist/dts/Encoding.d.ts.map +1 -1
  236. package/dist/dts/Equivalence.d.ts.map +1 -1
  237. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  238. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  239. package/dist/dts/Exit.d.ts +4 -3
  240. package/dist/dts/Exit.d.ts.map +1 -1
  241. package/dist/dts/Fiber.d.ts +4 -2
  242. package/dist/dts/Fiber.d.ts.map +1 -1
  243. package/dist/dts/FiberHandle.d.ts +189 -0
  244. package/dist/dts/FiberHandle.d.ts.map +1 -0
  245. package/dist/dts/FiberMap.d.ts +48 -12
  246. package/dist/dts/FiberMap.d.ts.map +1 -1
  247. package/dist/dts/FiberRefs.d.ts +1 -1
  248. package/dist/dts/FiberRefs.d.ts.map +1 -1
  249. package/dist/dts/FiberSet.d.ts +9 -5
  250. package/dist/dts/FiberSet.d.ts.map +1 -1
  251. package/dist/dts/Function.d.ts.map +1 -1
  252. package/dist/dts/GroupBy.d.ts +1 -1
  253. package/dist/dts/GroupBy.d.ts.map +1 -1
  254. package/dist/dts/HashMap.d.ts +0 -1
  255. package/dist/dts/HashMap.d.ts.map +1 -1
  256. package/dist/dts/HashSet.d.ts +0 -1
  257. package/dist/dts/HashSet.d.ts.map +1 -1
  258. package/dist/dts/Iterable.d.ts +12 -5
  259. package/dist/dts/Iterable.d.ts.map +1 -1
  260. package/dist/dts/Layer.d.ts +6 -6
  261. package/dist/dts/Layer.d.ts.map +1 -1
  262. package/dist/dts/List.d.ts +0 -11
  263. package/dist/dts/List.d.ts.map +1 -1
  264. package/dist/dts/Logger.d.ts +2 -2
  265. package/dist/dts/Logger.d.ts.map +1 -1
  266. package/dist/dts/Metric.d.ts +7 -2
  267. package/dist/dts/Metric.d.ts.map +1 -1
  268. package/dist/dts/MetricKey.d.ts +4 -1
  269. package/dist/dts/MetricKey.d.ts.map +1 -1
  270. package/dist/dts/MetricKeyType.d.ts +4 -1
  271. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  272. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  273. package/dist/dts/Option.d.ts +5 -3
  274. package/dist/dts/Option.d.ts.map +1 -1
  275. package/dist/dts/Order.d.ts.map +1 -1
  276. package/dist/dts/Readable.d.ts +55 -0
  277. package/dist/dts/Readable.d.ts.map +1 -0
  278. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  279. package/dist/dts/Record.d.ts.map +1 -0
  280. package/dist/dts/Ref.d.ts +2 -2
  281. package/dist/dts/Ref.d.ts.map +1 -1
  282. package/dist/dts/RegExp.d.ts +17 -0
  283. package/dist/dts/RegExp.d.ts.map +1 -0
  284. package/dist/dts/Request.d.ts +1 -1
  285. package/dist/dts/Request.d.ts.map +1 -1
  286. package/dist/dts/RequestResolver.d.ts +2 -2
  287. package/dist/dts/RequestResolver.d.ts.map +1 -1
  288. package/dist/dts/STM.d.ts +6 -4
  289. package/dist/dts/STM.d.ts.map +1 -1
  290. package/dist/dts/Schedule.d.ts +1 -1
  291. package/dist/dts/Scheduler.d.ts.map +1 -1
  292. package/dist/dts/ScopedCache.d.ts +9 -9
  293. package/dist/dts/ScopedCache.d.ts.map +1 -1
  294. package/dist/dts/SortedMap.d.ts.map +1 -1
  295. package/dist/dts/SortedSet.d.ts +1 -1
  296. package/dist/dts/SortedSet.d.ts.map +1 -1
  297. package/dist/dts/Stream.d.ts +8 -6
  298. package/dist/dts/Stream.d.ts.map +1 -1
  299. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  300. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  301. package/dist/dts/String.d.ts +25 -1
  302. package/dist/dts/String.d.ts.map +1 -1
  303. package/dist/dts/Subscribable.d.ts +59 -0
  304. package/dist/dts/Subscribable.d.ts.map +1 -0
  305. package/dist/dts/SubscriptionRef.d.ts +2 -2
  306. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  307. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  308. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  309. package/dist/dts/TestAnnotations.d.ts +0 -3
  310. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  311. package/dist/dts/TestClock.d.ts.map +1 -1
  312. package/dist/dts/TestLive.d.ts.map +1 -1
  313. package/dist/dts/TestServices.d.ts.map +1 -1
  314. package/dist/dts/TestSized.d.ts.map +1 -1
  315. package/dist/dts/Tracer.d.ts +12 -5
  316. package/dist/dts/Tracer.d.ts.map +1 -1
  317. package/dist/dts/Trie.d.ts +1 -1
  318. package/dist/dts/Trie.d.ts.map +1 -1
  319. package/dist/dts/Types.d.ts +0 -7
  320. package/dist/dts/Types.d.ts.map +1 -1
  321. package/dist/dts/index.d.ts +22 -4
  322. package/dist/dts/index.d.ts.map +1 -1
  323. package/dist/dts/internal/array.d.ts +5 -0
  324. package/dist/dts/internal/array.d.ts.map +1 -0
  325. package/dist/dts/internal/core-stream.d.ts +4 -0
  326. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  327. package/dist/dts/internal/core.d.ts +3 -1
  328. package/dist/dts/internal/core.d.ts.map +1 -1
  329. package/dist/dts/internal/errors.d.ts +5 -0
  330. package/dist/dts/internal/errors.d.ts.map +1 -0
  331. package/dist/dts/internal/fiber.d.ts +5 -1
  332. package/dist/dts/internal/fiber.d.ts.map +1 -1
  333. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  334. package/dist/dts/internal/logger.d.ts.map +1 -1
  335. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  336. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  337. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  338. package/dist/dts/internal/random.d.ts.map +1 -1
  339. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  340. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  341. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  342. package/dist/dts/internal/stm/stm.d.ts +3 -0
  343. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  344. package/dist/dts/internal/stream.d.ts +5 -1
  345. package/dist/dts/internal/stream.d.ts.map +1 -1
  346. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  347. package/dist/esm/Array.js.map +1 -0
  348. package/dist/esm/Brand.js +2 -2
  349. package/dist/esm/Brand.js.map +1 -1
  350. package/dist/esm/Channel.js +4 -2
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Chunk.js +4 -1
  353. package/dist/esm/Chunk.js.map +1 -1
  354. package/dist/esm/ConfigError.js.map +1 -1
  355. package/dist/esm/Cron.js +13 -13
  356. package/dist/esm/Cron.js.map +1 -1
  357. package/dist/esm/Duration.js +38 -1
  358. package/dist/esm/Duration.js.map +1 -1
  359. package/dist/esm/Effect.js +11 -2
  360. package/dist/esm/Effect.js.map +1 -1
  361. package/dist/esm/Either.js +4 -1
  362. package/dist/esm/Either.js.map +1 -1
  363. package/dist/esm/ExecutionStrategy.js.map +1 -1
  364. package/dist/esm/Exit.js +4 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js +3 -1
  367. package/dist/esm/Fiber.js.map +1 -1
  368. package/dist/esm/FiberHandle.js +247 -0
  369. package/dist/esm/FiberHandle.js.map +1 -0
  370. package/dist/esm/FiberMap.js +85 -26
  371. package/dist/esm/FiberMap.js.map +1 -1
  372. package/dist/esm/FiberRefs.js.map +1 -1
  373. package/dist/esm/FiberSet.js +51 -15
  374. package/dist/esm/FiberSet.js.map +1 -1
  375. package/dist/esm/HashMap.js.map +1 -1
  376. package/dist/esm/HashSet.js.map +1 -1
  377. package/dist/esm/Iterable.js +39 -4
  378. package/dist/esm/Iterable.js.map +1 -1
  379. package/dist/esm/Layer.js.map +1 -1
  380. package/dist/esm/List.js +7 -6
  381. package/dist/esm/List.js.map +1 -1
  382. package/dist/esm/Metric.js +3 -1
  383. package/dist/esm/Metric.js.map +1 -1
  384. package/dist/esm/MetricKey.js.map +1 -1
  385. package/dist/esm/MetricKeyType.js.map +1 -1
  386. package/dist/esm/MutableHashMap.js +0 -3
  387. package/dist/esm/MutableHashMap.js.map +1 -1
  388. package/dist/esm/Option.js +4 -2
  389. package/dist/esm/Option.js.map +1 -1
  390. package/dist/esm/Readable.js +45 -0
  391. package/dist/esm/Readable.js.map +1 -0
  392. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  393. package/dist/esm/Record.js.map +1 -0
  394. package/dist/esm/RegExp.js +17 -0
  395. package/dist/esm/RegExp.js.map +1 -0
  396. package/dist/esm/STM.js +5 -3
  397. package/dist/esm/STM.js.map +1 -1
  398. package/dist/esm/Schedule.js +1 -1
  399. package/dist/esm/Schedule.js.map +1 -1
  400. package/dist/esm/ScopedCache.js.map +1 -1
  401. package/dist/esm/Stream.js +5 -3
  402. package/dist/esm/Stream.js.map +1 -1
  403. package/dist/esm/StreamHaltStrategy.js +2 -0
  404. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  405. package/dist/esm/String.js +37 -1
  406. package/dist/esm/String.js.map +1 -1
  407. package/dist/esm/Subscribable.js +56 -0
  408. package/dist/esm/Subscribable.js.map +1 -0
  409. package/dist/esm/SubscriptionRef.js.map +1 -1
  410. package/dist/esm/TestAnnotation.js +2 -1
  411. package/dist/esm/TestAnnotation.js.map +1 -1
  412. package/dist/esm/TestAnnotations.js +1 -1
  413. package/dist/esm/TestAnnotations.js.map +1 -1
  414. package/dist/esm/TestClock.js +3 -3
  415. package/dist/esm/TestClock.js.map +1 -1
  416. package/dist/esm/Tracer.js.map +1 -1
  417. package/dist/esm/index.js +22 -4
  418. package/dist/esm/index.js.map +1 -1
  419. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  420. package/dist/esm/internal/array.js.map +1 -0
  421. package/dist/esm/internal/cache.js +3 -3
  422. package/dist/esm/internal/cache.js.map +1 -1
  423. package/dist/esm/internal/cause.js +6 -5
  424. package/dist/esm/internal/cause.js.map +1 -1
  425. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  426. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  427. package/dist/esm/internal/channel/channelState.js +1 -1
  428. package/dist/esm/internal/channel/channelState.js.map +1 -1
  429. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  430. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  431. package/dist/esm/internal/channel.js +8 -8
  432. package/dist/esm/internal/channel.js.map +1 -1
  433. package/dist/esm/internal/clock.js +2 -2
  434. package/dist/esm/internal/clock.js.map +1 -1
  435. package/dist/esm/internal/configError.js +20 -19
  436. package/dist/esm/internal/configError.js.map +1 -1
  437. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  438. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  439. package/dist/esm/internal/configProvider.js +48 -49
  440. package/dist/esm/internal/configProvider.js.map +1 -1
  441. package/dist/esm/internal/core-effect.js +64 -38
  442. package/dist/esm/internal/core-effect.js.map +1 -1
  443. package/dist/esm/internal/core-stream.js +3 -2
  444. package/dist/esm/internal/core-stream.js.map +1 -1
  445. package/dist/esm/internal/core.js +37 -108
  446. package/dist/esm/internal/core.js.map +1 -1
  447. package/dist/esm/internal/dataSource.js +19 -2
  448. package/dist/esm/internal/dataSource.js.map +1 -1
  449. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  450. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  451. package/dist/esm/internal/effect/circular.js +6 -1
  452. package/dist/esm/internal/effect/circular.js.map +1 -1
  453. package/dist/esm/internal/errors.js +6 -0
  454. package/dist/esm/internal/errors.js.map +1 -0
  455. package/dist/esm/internal/executionStrategy.js +4 -4
  456. package/dist/esm/internal/executionStrategy.js.map +1 -1
  457. package/dist/esm/internal/fiber.js +6 -5
  458. package/dist/esm/internal/fiber.js.map +1 -1
  459. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  460. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  461. package/dist/esm/internal/fiberRefs.js +1 -1
  462. package/dist/esm/internal/fiberRefs.js.map +1 -1
  463. package/dist/esm/internal/fiberRuntime.js +104 -63
  464. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  465. package/dist/esm/internal/groupBy.js +3 -3
  466. package/dist/esm/internal/groupBy.js.map +1 -1
  467. package/dist/esm/internal/hashMap.js +1 -1
  468. package/dist/esm/internal/hashMap.js.map +1 -1
  469. package/dist/esm/internal/hashSet.js.map +1 -1
  470. package/dist/esm/internal/layer/circular.js.map +1 -1
  471. package/dist/esm/internal/layer.js +5 -5
  472. package/dist/esm/internal/layer.js.map +1 -1
  473. package/dist/esm/internal/logger.js +28 -8
  474. package/dist/esm/internal/logger.js.map +1 -1
  475. package/dist/esm/internal/managedRuntime.js +1 -1
  476. package/dist/esm/internal/managedRuntime.js.map +1 -1
  477. package/dist/esm/internal/matcher.js +4 -3
  478. package/dist/esm/internal/matcher.js.map +1 -1
  479. package/dist/esm/internal/metric/boundaries.js +4 -4
  480. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  481. package/dist/esm/internal/metric/hook.js +20 -17
  482. package/dist/esm/internal/metric/hook.js.map +1 -1
  483. package/dist/esm/internal/metric/key.js +4 -4
  484. package/dist/esm/internal/metric/key.js.map +1 -1
  485. package/dist/esm/internal/metric/keyType.js +5 -1
  486. package/dist/esm/internal/metric/keyType.js.map +1 -1
  487. package/dist/esm/internal/metric/state.js +4 -4
  488. package/dist/esm/internal/metric/state.js.map +1 -1
  489. package/dist/esm/internal/metric.js +4 -4
  490. package/dist/esm/internal/metric.js.map +1 -1
  491. package/dist/esm/internal/pool.js +11 -11
  492. package/dist/esm/internal/pool.js.map +1 -1
  493. package/dist/esm/internal/pubsub.js +5 -5
  494. package/dist/esm/internal/pubsub.js.map +1 -1
  495. package/dist/esm/internal/query.js +2 -2
  496. package/dist/esm/internal/query.js.map +1 -1
  497. package/dist/esm/internal/queue.js +9 -9
  498. package/dist/esm/internal/queue.js.map +1 -1
  499. package/dist/esm/internal/rateLimiter.js +1 -1
  500. package/dist/esm/internal/rateLimiter.js.map +1 -1
  501. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  502. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  503. package/dist/esm/internal/ref.js +6 -1
  504. package/dist/esm/internal/ref.js.map +1 -1
  505. package/dist/esm/internal/reloadable.js +1 -1
  506. package/dist/esm/internal/reloadable.js.map +1 -1
  507. package/dist/esm/internal/runtime.js +4 -4
  508. package/dist/esm/internal/runtime.js.map +1 -1
  509. package/dist/esm/internal/schedule/intervals.js +2 -1
  510. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  511. package/dist/esm/internal/schedule.js +3 -3
  512. package/dist/esm/internal/schedule.js.map +1 -1
  513. package/dist/esm/internal/scopedCache.js +7 -7
  514. package/dist/esm/internal/scopedCache.js.map +1 -1
  515. package/dist/esm/internal/scopedRef.js +4 -4
  516. package/dist/esm/internal/scopedRef.js.map +1 -1
  517. package/dist/esm/internal/secret.js +2 -2
  518. package/dist/esm/internal/secret.js.map +1 -1
  519. package/dist/esm/internal/sink.js +10 -10
  520. package/dist/esm/internal/sink.js.map +1 -1
  521. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  522. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  523. package/dist/esm/internal/stm/stm.js +11 -9
  524. package/dist/esm/internal/stm/stm.js.map +1 -1
  525. package/dist/esm/internal/stm/tMap.js +3 -3
  526. package/dist/esm/internal/stm/tMap.js.map +1 -1
  527. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  528. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  529. package/dist/esm/internal/stm/tPubSub.js +3 -3
  530. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  531. package/dist/esm/internal/stm/tQueue.js +3 -3
  532. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  533. package/dist/esm/internal/stm/tSet.js +1 -1
  534. package/dist/esm/internal/stm/tSet.js.map +1 -1
  535. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  536. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  537. package/dist/esm/internal/stream.js +85 -84
  538. package/dist/esm/internal/stream.js.map +1 -1
  539. package/dist/esm/internal/subscriptionRef.js +8 -0
  540. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  541. package/dist/esm/internal/supervisor.js +1 -1
  542. package/dist/esm/internal/supervisor.js.map +1 -1
  543. package/dist/esm/internal/take.js +1 -1
  544. package/dist/esm/internal/take.js.map +1 -1
  545. package/dist/esm/internal/tracer.js.map +1 -1
  546. package/dist/esm/internal/trie.js +1 -1
  547. package/dist/esm/internal/trie.js.map +1 -1
  548. package/dist/esm/internal/version.js +1 -1
  549. package/dist/esm/internal/version.js.map +1 -1
  550. package/package.json +45 -13
  551. package/src/{ReadonlyArray.ts → Array.ts} +47 -24
  552. package/src/Brand.ts +3 -3
  553. package/src/Cache.ts +12 -10
  554. package/src/Cause.ts +1 -1
  555. package/src/Channel.ts +12 -9
  556. package/src/Chunk.ts +3 -3
  557. package/src/ConfigError.ts +7 -6
  558. package/src/Cron.ts +17 -17
  559. package/src/Duration.ts +54 -1
  560. package/src/Effect.ts +46 -57
  561. package/src/Either.ts +7 -7
  562. package/src/ExecutionStrategy.ts +10 -2
  563. package/src/Exit.ts +11 -9
  564. package/src/Fiber.ts +11 -8
  565. package/src/FiberHandle.ts +414 -0
  566. package/src/FiberMap.ts +181 -73
  567. package/src/FiberRefs.ts +1 -1
  568. package/src/FiberSet.ts +96 -36
  569. package/src/GroupBy.ts +1 -1
  570. package/src/HashMap.ts +0 -1
  571. package/src/HashSet.ts +0 -1
  572. package/src/Iterable.ts +48 -10
  573. package/src/Layer.ts +6 -6
  574. package/src/List.ts +8 -7
  575. package/src/Logger.ts +2 -2
  576. package/src/Metric.ts +9 -2
  577. package/src/MetricKey.ts +9 -1
  578. package/src/MetricKeyType.ts +6 -1
  579. package/src/MutableHashMap.ts +1 -1
  580. package/src/Option.ts +9 -6
  581. package/src/Readable.ts +92 -0
  582. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  583. package/src/Ref.ts +2 -2
  584. package/src/RegExp.ts +17 -0
  585. package/src/Request.ts +1 -1
  586. package/src/RequestResolver.ts +4 -4
  587. package/src/STM.ts +12 -9
  588. package/src/Schedule.ts +1 -1
  589. package/src/ScopedCache.ts +11 -9
  590. package/src/SortedSet.ts +1 -1
  591. package/src/Stream.ts +14 -11
  592. package/src/StreamHaltStrategy.ts +14 -2
  593. package/src/String.ts +45 -2
  594. package/src/Subscribable.ts +99 -0
  595. package/src/SubscriptionRef.ts +2 -2
  596. package/src/TestAnnotation.ts +2 -1
  597. package/src/TestAnnotations.ts +1 -1
  598. package/src/TestClock.ts +3 -3
  599. package/src/Tracer.ts +13 -5
  600. package/src/Trie.ts +1 -1
  601. package/src/Types.ts +0 -8
  602. package/src/index.ts +26 -4
  603. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  604. package/src/internal/cache.ts +40 -40
  605. package/src/internal/cause.ts +8 -8
  606. package/src/internal/channel/channelExecutor.ts +15 -15
  607. package/src/internal/channel/channelState.ts +1 -1
  608. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  609. package/src/internal/channel.ts +11 -11
  610. package/src/internal/clock.ts +2 -2
  611. package/src/internal/configError.ts +22 -21
  612. package/src/internal/configProvider/pathPatch.ts +1 -1
  613. package/src/internal/configProvider.ts +51 -55
  614. package/src/internal/core-effect.ts +149 -134
  615. package/src/internal/core-stream.ts +5 -2
  616. package/src/internal/core.ts +64 -200
  617. package/src/internal/dataSource.ts +19 -20
  618. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  619. package/src/internal/effect/circular.ts +9 -3
  620. package/src/internal/errors.ts +7 -0
  621. package/src/internal/executionStrategy.ts +14 -12
  622. package/src/internal/fiber.ts +8 -5
  623. package/src/internal/fiberRefs/patch.ts +1 -1
  624. package/src/internal/fiberRefs.ts +1 -1
  625. package/src/internal/fiberRuntime.ts +157 -123
  626. package/src/internal/groupBy.ts +4 -4
  627. package/src/internal/hashMap.ts +1 -2
  628. package/src/internal/hashSet.ts +0 -1
  629. package/src/internal/layer/circular.ts +2 -2
  630. package/src/internal/layer.ts +9 -9
  631. package/src/internal/logger.ts +28 -8
  632. package/src/internal/managedRuntime.ts +1 -1
  633. package/src/internal/matcher.ts +5 -3
  634. package/src/internal/metric/boundaries.ts +5 -5
  635. package/src/internal/metric/hook.ts +21 -18
  636. package/src/internal/metric/key.ts +8 -5
  637. package/src/internal/metric/keyType.ts +5 -2
  638. package/src/internal/metric/state.ts +5 -5
  639. package/src/internal/metric.ts +8 -6
  640. package/src/internal/pool.ts +11 -11
  641. package/src/internal/pubsub.ts +6 -6
  642. package/src/internal/query.ts +4 -4
  643. package/src/internal/queue.ts +11 -11
  644. package/src/internal/rateLimiter.ts +1 -1
  645. package/src/internal/redBlackTree/iterator.ts +2 -2
  646. package/src/internal/ref.ts +8 -2
  647. package/src/internal/reloadable.ts +1 -1
  648. package/src/internal/runtime.ts +5 -5
  649. package/src/internal/schedule/intervals.ts +2 -1
  650. package/src/internal/schedule.ts +8 -9
  651. package/src/internal/scopedCache.ts +53 -53
  652. package/src/internal/scopedRef.ts +4 -4
  653. package/src/internal/secret.ts +2 -2
  654. package/src/internal/sink.ts +10 -10
  655. package/src/internal/stm/stm/tExit.ts +5 -2
  656. package/src/internal/stm/stm.ts +13 -9
  657. package/src/internal/stm/tMap.ts +3 -3
  658. package/src/internal/stm/tPriorityQueue.ts +11 -11
  659. package/src/internal/stm/tPubSub.ts +3 -3
  660. package/src/internal/stm/tQueue.ts +3 -3
  661. package/src/internal/stm/tSet.ts +1 -1
  662. package/src/internal/stream/haltStrategy.ts +23 -14
  663. package/src/internal/stream.ts +91 -88
  664. package/src/internal/subscriptionRef.ts +8 -0
  665. package/src/internal/supervisor.ts +1 -1
  666. package/src/internal/take.ts +1 -1
  667. package/src/internal/tracer.ts +2 -2
  668. package/src/internal/trie.ts +1 -2
  669. package/src/internal/version.ts +1 -1
  670. package/ReadonlyArray/package.json +0 -6
  671. package/ReadonlyRecord/package.json +0 -6
  672. package/dist/cjs/ReadonlyArray.js.map +0 -1
  673. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  674. package/dist/cjs/internal/Iterable.js +0 -61
  675. package/dist/cjs/internal/Iterable.js.map +0 -1
  676. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  677. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  678. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  679. package/dist/dts/internal/Iterable.d.ts +0 -2
  680. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  681. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  682. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  683. package/dist/esm/ReadonlyArray.js.map +0 -1
  684. package/dist/esm/ReadonlyRecord.js.map +0 -1
  685. package/dist/esm/internal/Iterable.js +0 -53
  686. package/dist/esm/internal/Iterable.js.map +0 -1
  687. package/dist/esm/internal/readonlyArray.js.map +0 -1
  688. package/src/internal/Iterable.ts +0 -54
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unsafeSet = exports.unsafeGet = exports.set = exports.runtime = exports.run = exports.makeRuntime = exports.make = exports.join = exports.isFiberHandle = exports.get = exports.clear = exports.TypeId = void 0;
7
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Cause.js"));
9
+ var Deferred = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Deferred.js"));
10
+ var Exit = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Exit.js"));
11
+ var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Fiber.js"));
12
+ var FiberId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./FiberId.js"));
13
+ var FiberRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./FiberRef.js"));
14
+ var _Function = /*#__PURE__*/require("./Function.js");
15
+ var Inspectable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Inspectable.js"));
16
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Option.js"));
17
+ var _Pipeable = /*#__PURE__*/require("./Pipeable.js");
18
+ var Predicate = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Predicate.js"));
19
+ var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Runtime.js"));
20
+ function _getRequireWildcardCache(e) {
21
+ if ("function" != typeof WeakMap) return null;
22
+ var r = new WeakMap(),
23
+ t = new WeakMap();
24
+ return (_getRequireWildcardCache = function (e) {
25
+ return e ? t : r;
26
+ })(e);
27
+ }
28
+ function _interopRequireWildcard(e, r) {
29
+ if (!r && e && e.__esModule) return e;
30
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
31
+ default: e
32
+ };
33
+ var t = _getRequireWildcardCache(r);
34
+ if (t && t.has(e)) return t.get(e);
35
+ var n = {
36
+ __proto__: null
37
+ },
38
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
39
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
40
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
41
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
42
+ }
43
+ return n.default = e, t && t.set(e, n), n;
44
+ }
45
+ /**
46
+ * @since 2.0.0
47
+ */
48
+
49
+ /**
50
+ * @since 2.0.0
51
+ * @categories type ids
52
+ */
53
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("effect/FiberHandle");
54
+ /**
55
+ * @since 2.0.0
56
+ * @categories refinements
57
+ */
58
+ const isFiberHandle = u => Predicate.hasProperty(u, TypeId);
59
+ exports.isFiberHandle = isFiberHandle;
60
+ const Proto = {
61
+ [TypeId]: TypeId,
62
+ toString() {
63
+ return Inspectable.format(this.toJSON());
64
+ },
65
+ toJSON() {
66
+ return {
67
+ _id: "FiberHandle",
68
+ state: this.state
69
+ };
70
+ },
71
+ [Inspectable.NodeInspectSymbol]() {
72
+ return this.toJSON();
73
+ },
74
+ pipe() {
75
+ return (0, _Pipeable.pipeArguments)(this, arguments);
76
+ }
77
+ };
78
+ const unsafeMake = deferred => {
79
+ const self = Object.create(Proto);
80
+ self.state = {
81
+ _tag: "Open",
82
+ fiber: undefined
83
+ };
84
+ self.deferred = deferred;
85
+ return self;
86
+ };
87
+ /**
88
+ * A FiberHandle can be used to store a single fiber.
89
+ * When the associated Scope is closed, the contained fiber will be interrupted.
90
+ *
91
+ * You can add a fiber to the handle using `FiberHandle.run`, and the fiber will
92
+ * be automatically removed from the FiberHandle when it completes.
93
+ *
94
+ * @example
95
+ * import { Effect, FiberHandle } from "effect"
96
+ *
97
+ * Effect.gen(function*(_) {
98
+ * const handle = yield* _(FiberHandle.make())
99
+ *
100
+ * // run some effects
101
+ * yield* _(FiberHandle.run(handle, Effect.never))
102
+ * // this will interrupt the previous fiber
103
+ * yield* _(FiberHandle.run(handle, Effect.never))
104
+ *
105
+ * yield* _(Effect.sleep(1000))
106
+ * }).pipe(
107
+ * Effect.scoped // The fiber will be interrupted when the scope is closed
108
+ * )
109
+ *
110
+ * @since 2.0.0
111
+ * @categories constructors
112
+ */
113
+ const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(deferred)), handle => Effect.zipRight(clear(handle), Effect.suspend(() => {
114
+ handle.state = {
115
+ _tag: "Closed"
116
+ };
117
+ return Deferred.done(handle.deferred, Exit.void);
118
+ })));
119
+ /**
120
+ * Create an Effect run function that is backed by a FiberHandle.
121
+ *
122
+ * @since 2.0.0
123
+ * @categories constructors
124
+ */
125
+ exports.make = make;
126
+ const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)());
127
+ /**
128
+ * Set the fiber in a FiberHandle. When the fiber completes, it will be removed from the FiberHandle.
129
+ * If a fiber is already running, it will be interrupted unless `options.onlyIfMissing` is set.
130
+ *
131
+ * @since 2.0.0
132
+ * @categories combinators
133
+ */
134
+ exports.makeRuntime = makeRuntime;
135
+ const unsafeSet = exports.unsafeSet = /*#__PURE__*/(0, _Function.dual)(args => isFiberHandle(args[0]), (self, fiber, options) => {
136
+ if (self.state._tag === "Closed") {
137
+ fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
138
+ return;
139
+ } else if (self.state.fiber !== undefined) {
140
+ if (options?.onlyIfMissing === true) {
141
+ fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
142
+ return;
143
+ } else if (self.state.fiber === fiber) {
144
+ return;
145
+ }
146
+ self.state.fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
147
+ self.state.fiber === undefined;
148
+ }
149
+ ;
150
+ fiber.setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none());
151
+ self.state.fiber = fiber;
152
+ fiber.addObserver(exit => {
153
+ if (self.state._tag === "Open" && fiber === self.state.fiber) {
154
+ self.state.fiber = undefined;
155
+ }
156
+ if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
157
+ Deferred.unsafeDone(self.deferred, exit);
158
+ }
159
+ });
160
+ });
161
+ /**
162
+ * Set the fiber in the FiberHandle. When the fiber completes, it will be removed from the FiberHandle.
163
+ * If a fiber already exists in the FiberHandle, it will be interrupted unless `options.onlyIfMissing` is set.
164
+ *
165
+ * @since 2.0.0
166
+ * @categories combinators
167
+ */
168
+ const set = exports.set = /*#__PURE__*/(0, _Function.dual)(args => isFiberHandle(args[0]), (self, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, fiber, {
169
+ interruptAs: fiberId,
170
+ onlyIfMissing: options?.onlyIfMissing
171
+ }))));
172
+ /**
173
+ * Retrieve the fiber from the FiberHandle.
174
+ *
175
+ * @since 2.0.0
176
+ * @categories combinators
177
+ */
178
+ const unsafeGet = self => self.state._tag === "Closed" ? Option.none() : Option.fromNullable(self.state.fiber);
179
+ /**
180
+ * Retrieve the fiber from the FiberHandle.
181
+ *
182
+ * @since 2.0.0
183
+ * @categories combinators
184
+ */
185
+ exports.unsafeGet = unsafeGet;
186
+ const get = self => Effect.suspend(() => unsafeGet(self));
187
+ /**
188
+ * @since 2.0.0
189
+ * @categories combinators
190
+ */
191
+ exports.get = get;
192
+ const clear = self => Effect.uninterruptibleMask(restore => Effect.suspend(() => {
193
+ if (self.state._tag === "Closed" || self.state.fiber === undefined) {
194
+ return Effect.void;
195
+ }
196
+ return Effect.zipRight(restore(Fiber.interrupt(self.state.fiber)), Effect.sync(() => {
197
+ if (self.state._tag === "Open") {
198
+ self.state.fiber = undefined;
199
+ }
200
+ }));
201
+ }));
202
+ /**
203
+ * Run an Effect and add the forked fiber to the FiberHandle.
204
+ * When the fiber completes, it will be removed from the FiberHandle.
205
+ *
206
+ * @since 2.0.0
207
+ * @categories combinators
208
+ */
209
+ exports.clear = clear;
210
+ const run = function () {
211
+ const self = arguments[0];
212
+ if (Effect.isEffect(arguments[1])) {
213
+ const effect = arguments[1];
214
+ const options = arguments[2];
215
+ return Effect.suspend(() => {
216
+ if (self.state._tag === "Closed") {
217
+ return Effect.interrupt;
218
+ }
219
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, fiber, options)));
220
+ });
221
+ }
222
+ const options = arguments[1];
223
+ return effect => Effect.suspend(() => {
224
+ if (self.state._tag === "Closed") {
225
+ return Effect.interrupt;
226
+ }
227
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, fiber, options)));
228
+ });
229
+ };
230
+ /**
231
+ * Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberHandle.
232
+ *
233
+ * @example
234
+ * import { Context, Effect, FiberHandle } from "effect"
235
+ *
236
+ * interface Users {
237
+ * readonly _: unique symbol
238
+ * }
239
+ * const Users = Context.GenericTag<Users, {
240
+ * getAll: Effect.Effect<Array<unknown>>
241
+ * }>("Users")
242
+ *
243
+ * Effect.gen(function*(_) {
244
+ * const handle = yield* _(FiberHandle.make())
245
+ * const run = yield* _(FiberHandle.runtime(handle)<Users>())
246
+ *
247
+ * // run an effect and set the fiber in the handle
248
+ * run(Effect.andThen(Users, _ => _.getAll))
249
+ *
250
+ * // this will interrupt the previous fiber
251
+ * run(Effect.andThen(Users, _ => _.getAll))
252
+ * }).pipe(
253
+ * Effect.scoped // The fiber will be interrupted when the scope is closed
254
+ * )
255
+ *
256
+ * @since 2.0.0
257
+ * @categories combinators
258
+ */
259
+ exports.run = run;
260
+ const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
261
+ const runFork = Runtime.runFork(runtime);
262
+ return (effect, options) => {
263
+ const fiber = runFork(effect, options);
264
+ unsafeSet(self, fiber, options);
265
+ return fiber;
266
+ };
267
+ });
268
+ /**
269
+ * If any of the Fiber's in the handle terminate with a failure,
270
+ * the returned Effect will terminate with the first failure that occurred.
271
+ *
272
+ * @since 2.0.0
273
+ * @categories combinators
274
+ * @example
275
+ * import { Effect, FiberHandle } from "effect";
276
+ *
277
+ * Effect.gen(function* (_) {
278
+ * const handle = yield* _(FiberHandle.make());
279
+ * yield* _(FiberHandle.set(handle, Effect.runFork(Effect.fail("error"))));
280
+ *
281
+ * // parent fiber will fail with "error"
282
+ * yield* _(FiberHandle.join(handle));
283
+ * });
284
+ */
285
+ exports.runtime = runtime;
286
+ const join = self => Deferred.await(self.deferred);
287
+ exports.join = join;
288
+ //# sourceMappingURL=FiberHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiberHandle.js","names":["Effect","_interopRequireWildcard","require","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","_Function","Inspectable","Option","_Pipeable","Predicate","Runtime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isFiberHandle","hasProperty","Proto","toString","format","toJSON","_id","state","NodeInspectSymbol","pipe","pipeArguments","arguments","unsafeMake","deferred","self","create","_tag","fiber","undefined","make","acquireRelease","map","handle","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","unsafeSet","dual","args","options","unsafeInterruptAsFork","interruptAs","none","onlyIfMissing","setFiberRef","unhandledErrorLogLevel","addObserver","exit","isFailure","isInterruptedOnly","cause","unsafeDone","fiberIdWith","fiberId","sync","unsafeGet","fromNullable","uninterruptibleMask","restore","interrupt","run","isEffect","effect","tap","forkDaemon","runFork","join","await"],"sources":["../../src/FiberHandle.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.unsafeSet = exports.unsafeGet = exports.size = exports.set = exports.runtime = exports.run = exports.remove = exports.makeRuntime = exports.make = exports.join = exports.isFiberMap = exports.get = exports.clear = exports.TypeId = void 0;
6
+ exports.unsafeSet = exports.unsafeHas = exports.unsafeGet = exports.size = exports.set = exports.runtime = exports.run = exports.remove = exports.makeRuntime = exports.make = exports.join = exports.isFiberMap = exports.has = exports.get = exports.clear = exports.TypeId = void 0;
7
7
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
8
  var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Cause.js"));
9
9
  var Deferred = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Deferred.js"));
@@ -13,6 +13,7 @@ var FiberId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Fibe
13
13
  var FiberRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./FiberRef.js"));
14
14
  var _Function = /*#__PURE__*/require("./Function.js");
15
15
  var Inspectable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Inspectable.js"));
16
+ var Iterable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Iterable.js"));
16
17
  var MutableHashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./MutableHashMap.js"));
17
18
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Option.js"));
18
19
  var _Pipeable = /*#__PURE__*/require("./Pipeable.js");
@@ -61,7 +62,10 @@ exports.isFiberMap = isFiberMap;
61
62
  const Proto = {
62
63
  [TypeId]: TypeId,
63
64
  [Symbol.iterator]() {
64
- return this.backing[Symbol.iterator]();
65
+ if (this.state._tag === "Closed") {
66
+ return Iterable.empty();
67
+ }
68
+ return this.state.backing[Symbol.iterator]();
65
69
  },
66
70
  toString() {
67
71
  return Inspectable.format(this.toJSON());
@@ -69,7 +73,7 @@ const Proto = {
69
73
  toJSON() {
70
74
  return {
71
75
  _id: "FiberMap",
72
- backing: this.backing.toJSON()
76
+ state: this.state
73
77
  };
74
78
  },
75
79
  [Inspectable.NodeInspectSymbol]() {
@@ -81,7 +85,10 @@ const Proto = {
81
85
  };
82
86
  const unsafeMake = (backing, deferred) => {
83
87
  const self = Object.create(Proto);
84
- self.backing = backing;
88
+ self.state = {
89
+ _tag: "Open",
90
+ backing
91
+ };
85
92
  self.deferred = deferred;
86
93
  return self;
87
94
  };
@@ -110,7 +117,12 @@ const unsafeMake = (backing, deferred) => {
110
117
  * @since 2.0.0
111
118
  * @categories constructors
112
119
  */
113
- const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(MutableHashMap.empty(), deferred)), clear);
120
+ const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(MutableHashMap.empty(), deferred)), map => Effect.zipRight(clear(map), Effect.suspend(() => {
121
+ map.state = {
122
+ _tag: "Closed"
123
+ };
124
+ return Deferred.done(map.deferred, Exit.void);
125
+ })));
114
126
  /**
115
127
  * Create an Effect run function that is backed by a FiberMap.
116
128
  *
@@ -127,21 +139,31 @@ const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)());
127
139
  * @categories combinators
128
140
  */
129
141
  exports.makeRuntime = makeRuntime;
130
- const unsafeSet = exports.unsafeSet = /*#__PURE__*/(0, _Function.dual)(args => isFiberMap(args[0]), (self, key, fiber, interruptAs) => {
131
- const previous = MutableHashMap.get(self.backing, key);
142
+ const unsafeSet = exports.unsafeSet = /*#__PURE__*/(0, _Function.dual)(args => isFiberMap(args[0]), (self, key, fiber, options) => {
143
+ if (self.state._tag === "Closed") {
144
+ fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
145
+ return;
146
+ }
147
+ const previous = MutableHashMap.get(self.state.backing, key);
132
148
  if (previous._tag === "Some") {
133
- if (previous.value === fiber) {
149
+ if (options?.onlyIfMissing === true) {
150
+ fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
151
+ return;
152
+ } else if (previous.value === fiber) {
134
153
  return;
135
154
  }
136
- previous.value.unsafeInterruptAsFork(interruptAs ?? FiberId.none);
155
+ previous.value.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
137
156
  }
138
157
  ;
139
158
  fiber.setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none());
140
- MutableHashMap.set(self.backing, key, fiber);
159
+ MutableHashMap.set(self.state.backing, key, fiber);
141
160
  fiber.addObserver(exit => {
142
- const current = MutableHashMap.get(self.backing, key);
161
+ if (self.state._tag === "Closed") {
162
+ return;
163
+ }
164
+ const current = MutableHashMap.get(self.state.backing, key);
143
165
  if (Option.isSome(current) && fiber === current.value) {
144
- MutableHashMap.remove(self.backing, key);
166
+ MutableHashMap.remove(self.state.backing, key);
145
167
  }
146
168
  if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
147
169
  Deferred.unsafeDone(self.deferred, exit);
@@ -155,21 +177,38 @@ const unsafeSet = exports.unsafeSet = /*#__PURE__*/(0, _Function.dual)(args => i
155
177
  * @since 2.0.0
156
178
  * @categories combinators
157
179
  */
158
- const set = exports.set = /*#__PURE__*/(0, _Function.dual)(3, (self, key, fiber) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, key, fiber, fiberId))));
180
+ const set = exports.set = /*#__PURE__*/(0, _Function.dual)(args => isFiberMap(args[0]), (self, key, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, key, fiber, {
181
+ interruptAs: fiberId,
182
+ onlyIfMissing: options?.onlyIfMissing
183
+ }))));
159
184
  /**
160
185
  * Retrieve a fiber from the FiberMap.
161
186
  *
162
187
  * @since 2.0.0
163
188
  * @categories combinators
164
189
  */
165
- const unsafeGet = exports.unsafeGet = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => MutableHashMap.get(self.backing, key));
190
+ const unsafeGet = exports.unsafeGet = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => self.state._tag === "Closed" ? Option.none() : MutableHashMap.get(self.state.backing, key));
166
191
  /**
167
192
  * Retrieve a fiber from the FiberMap.
168
193
  *
169
194
  * @since 2.0.0
170
195
  * @categories combinators
171
196
  */
172
- const get = exports.get = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => Effect.suspend(() => MutableHashMap.get(self.backing, key)));
197
+ const get = exports.get = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => Effect.suspend(() => unsafeGet(self, key)));
198
+ /**
199
+ * Check if a key exists in the FiberMap.
200
+ *
201
+ * @since 2.0.0
202
+ * @categories combinators
203
+ */
204
+ const unsafeHas = exports.unsafeHas = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => self.state._tag === "Closed" ? false : MutableHashMap.has(self.state.backing, key));
205
+ /**
206
+ * Check if a key exists in the FiberMap.
207
+ *
208
+ * @since 2.0.0
209
+ * @categories combinators
210
+ */
211
+ const has = exports.has = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => Effect.sync(() => unsafeHas(self, key)));
173
212
  /**
174
213
  * Remove a fiber from the FiberMap, interrupting it if it exists.
175
214
  *
@@ -177,20 +216,28 @@ const get = exports.get = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => Eff
177
216
  * @categories combinators
178
217
  */
179
218
  const remove = exports.remove = /*#__PURE__*/(0, _Function.dual)(2, (self, key) => Effect.suspend(() => {
180
- const fiber = MutableHashMap.get(self.backing, key);
219
+ if (self.state._tag === "Closed") {
220
+ return Effect.void;
221
+ }
222
+ const fiber = MutableHashMap.get(self.state.backing, key);
181
223
  if (fiber._tag === "None") {
182
- return Effect.unit;
224
+ return Effect.void;
183
225
  }
184
- MutableHashMap.remove(self.backing, key);
226
+ // will be removed by the observer
185
227
  return Fiber.interrupt(fiber.value);
186
228
  }));
187
229
  /**
188
230
  * @since 2.0.0
189
231
  * @categories combinators
190
232
  */
191
- const clear = self => Effect.zipRight(Effect.forEach(self.backing, ([_, fiber]) => Fiber.interrupt(fiber)), Effect.sync(() => {
192
- MutableHashMap.clear(self.backing);
193
- }));
233
+ const clear = self => Effect.suspend(() => {
234
+ if (self.state._tag === "Closed") {
235
+ return Effect.void;
236
+ }
237
+ return Effect.forEach(self.state.backing, ([, fiber]) =>
238
+ // will be removed by the observer
239
+ Fiber.interrupt(fiber));
240
+ });
194
241
  /**
195
242
  * Run an Effect and add the forked fiber to the FiberMap.
196
243
  * When the fiber completes, it will be removed from the FiberMap.
@@ -200,15 +247,27 @@ const clear = self => Effect.zipRight(Effect.forEach(self.backing, ([_, fiber])
200
247
  */
201
248
  exports.clear = clear;
202
249
  const run = function () {
203
- if (arguments.length === 2) {
250
+ if (Effect.isEffect(arguments[2])) {
204
251
  const self = arguments[0];
205
252
  const key = arguments[1];
206
- return effect => Effect.tap(Effect.forkDaemon(effect), fiber => set(self, key, fiber));
253
+ const effect = arguments[2];
254
+ const options = arguments[3];
255
+ return Effect.suspend(() => {
256
+ if (self.state._tag === "Closed") {
257
+ return Effect.interrupt;
258
+ }
259
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, key, fiber, options)));
260
+ });
207
261
  }
208
262
  const self = arguments[0];
209
263
  const key = arguments[1];
210
- const effect = arguments[2];
211
- return Effect.tap(Effect.forkDaemon(effect), fiber => set(self, key, fiber));
264
+ const options = arguments[2];
265
+ return effect => Effect.suspend(() => {
266
+ if (self.state._tag === "Closed") {
267
+ return Effect.interrupt;
268
+ }
269
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, key, fiber, options)));
270
+ });
212
271
  };
213
272
  /**
214
273
  * Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberMap.
@@ -242,7 +301,7 @@ const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
242
301
  const runFork = Runtime.runFork(runtime);
243
302
  return (key, effect, options) => {
244
303
  const fiber = runFork(effect, options);
245
- unsafeSet(self, key, fiber);
304
+ unsafeSet(self, key, fiber, options);
246
305
  return fiber;
247
306
  };
248
307
  });
@@ -251,7 +310,7 @@ const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
251
310
  * @categories combinators
252
311
  */
253
312
  exports.runtime = runtime;
254
- const size = self => Effect.sync(() => MutableHashMap.size(self.backing));
313
+ const size = self => Effect.sync(() => self.state._tag === "Closed" ? 0 : MutableHashMap.size(self.state.backing));
255
314
  /**
256
315
  * Join all fibers in the FiberMap. If any of the Fiber's in the map terminate with a failure,
257
316
  * the returned Effect will terminate with the first failure that occurred.
@@ -1 +1 @@
1
- {"version":3,"file":"FiberMap.js","names":["Effect","_interopRequireWildcard","require","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","_Function","Inspectable","MutableHashMap","Option","_Pipeable","Predicate","Runtime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isFiberMap","hasProperty","Proto","iterator","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","pipeArguments","arguments","unsafeMake","deferred","self","create","make","acquireRelease","map","empty","clear","makeRuntime","flatMap","runtime","unsafeSet","dual","args","key","fiber","interruptAs","previous","_tag","value","unsafeInterruptAsFork","none","setFiberRef","unhandledErrorLogLevel","addObserver","exit","current","isSome","remove","isFailure","isInterruptedOnly","cause","unsafeDone","fiberIdWith","fiberId","sync","unsafeGet","suspend","unit","interrupt","zipRight","forEach","_","run","length","effect","tap","forkDaemon","runFork","options","size","join","await"],"sources":["../../src/FiberMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAGA,IAAAC,KAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,QAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,IAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,KAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,OAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,QAAA,gBAAAP,uBAAA,eAAAC,OAAA;AACA,IAAAO,SAAA,gBAAAP,OAAA;AACA,IAAAQ,WAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,cAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,MAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,SAAA,gBAAAX,OAAA;AACA,IAAAY,SAAA,gBAAAb,uBAAA,eAAAC,OAAA;AACA,IAAAa,OAAA,gBAAAd,uBAAA,eAAAC,OAAA;AAAuC,SAAAc,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAnBvC;;;;AAqBA;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AAoBnD;;;;AAIO,MAAMC,UAAU,GAAIT,CAAU,IAA6BjB,SAAS,CAAC2B,WAAW,CAACV,CAAC,EAAEK,MAAM,CAAC;AAAAC,OAAA,CAAAG,UAAA,GAAAA,UAAA;AAElG,MAAME,KAAK,GAAG;EACZ,CAACN,MAAM,GAAGA,MAAM;EAChB,CAACE,MAAM,CAACK,QAAQ,IAAC;IACf,OAAO,IAAI,CAACC,OAAO,CAACN,MAAM,CAACK,QAAQ,CAAC,EAAE;EACxC,CAAC;EACDE,QAAQA,CAAA;IACN,OAAOnC,WAAW,CAACoC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE,CAAC;EAC1C,CAAC;EACDA,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,UAAU;MACfJ,OAAO,EAAE,IAAI,CAACA,OAAO,CAACG,MAAM;KAC7B;EACH,CAAC;EACD,CAACrC,WAAW,CAACuC,iBAAiB,IAAC;IAC7B,OAAO,IAAI,CAACF,MAAM,EAAE;EACtB,CAAC;EACDG,IAAIA,CAAA;IACF,OAAO,IAAArC,SAAA,CAAAsC,aAAa,EAAC,IAAI,EAAEC,SAAS,CAAC;EACvC;CACD;AAED,MAAMC,UAAU,GAAGA,CACjBT,OAAmE,EACnEU,QAAqC,KAChB;EACrB,MAAMC,IAAI,GAAG3B,MAAM,CAAC4B,MAAM,CAACd,KAAK,CAAC;EACjCa,IAAI,CAACX,OAAO,GAAGA,OAAO;EACtBW,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EACxB,OAAOC,IAAI;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAME,IAAI,GAAGA,CAAA,KAClBzD,MAAM,CAAC0D,cAAc,CACnB1D,MAAM,CAAC2D,GAAG,CAACvD,QAAQ,CAACqD,IAAI,EAAY,EAAGH,QAAQ,IAC7CD,UAAU,CACR1C,cAAc,CAACiD,KAAK,EAAE,EACtBN,QAAQ,CACT,CAAC,EACJO,KAAK,CACN;AAEH;;;;;;AAAAxB,OAAA,CAAAoB,IAAA,GAAAA,IAAA;AAMO,MAAMK,WAAW,GAAGA,CAAA,KASzB9D,MAAM,CAAC+D,OAAO,CACZN,IAAI,EAAW,EACdF,IAAI,IAAKS,OAAO,CAACT,IAAI,CAAC,EAAK,CAC7B;AAEH;;;;;;;AAAAlB,OAAA,CAAAyB,WAAA,GAAAA,WAAA;AAOO,MAAMG,SAAS,GAAA5B,OAAA,CAAA4B,SAAA,gBAYlB,IAAAxD,SAAA,CAAAyD,IAAI,EAYLC,IAAI,IAAK3B,UAAU,CAAC2B,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACZ,IAAI,EAAEa,GAAG,EAAEC,KAAK,EAAEC,WAAW,KAAI;EACjE,MAAMC,QAAQ,GAAG5D,cAAc,CAACa,GAAG,CAAC+B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC;EACtD,IAAIG,QAAQ,CAACC,IAAI,KAAK,MAAM,EAAE;IAC5B,IAAID,QAAQ,CAACE,KAAK,KAAKJ,KAAK,EAAE;MAC5B;IACF;IACAE,QAAQ,CAACE,KAAK,CAACC,qBAAqB,CAACJ,WAAW,IAAI/D,OAAO,CAACoE,IAAI,CAAC;EACnE;EAEA;EAAEN,KAAwC,CAACO,WAAW,CAACpE,QAAQ,CAACqE,sBAAsB,EAAEjE,MAAM,CAAC+D,IAAI,EAAE,CAAC;EACtGhE,cAAc,CAACwB,GAAG,CAACoB,IAAI,CAACX,OAAO,EAAEwB,GAAG,EAAEC,KAAK,CAAC;EAC5CA,KAAK,CAACS,WAAW,CAAEC,IAAI,IAAI;IACzB,MAAMC,OAAO,GAAGrE,cAAc,CAACa,GAAG,CAAC+B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC;IACrD,IAAIxD,MAAM,CAACqE,MAAM,CAACD,OAAO,CAAC,IAAIX,KAAK,KAAKW,OAAO,CAACP,KAAK,EAAE;MACrD9D,cAAc,CAACuE,MAAM,CAAC3B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC;IAC1C;IACA,IAAI/D,IAAI,CAAC8E,SAAS,CAACJ,IAAI,CAAC,IAAI,CAAC5E,KAAK,CAACiF,iBAAiB,CAACL,IAAI,CAACM,KAAK,CAAC,EAAE;MAChEjF,QAAQ,CAACkF,UAAU,CAAC/B,IAAI,CAACD,QAAQ,EAAEyB,IAAW,CAAC;IACjD;EACF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAM5C,GAAG,GAAAE,OAAA,CAAAF,GAAA,gBAUZ,IAAA1B,SAAA,CAAAyD,IAAI,EAUN,CAAC,EAAE,CAACX,IAAI,EAAEa,GAAG,EAAEC,KAAK,KACpBrE,MAAM,CAACuF,WAAW,CACfC,OAAO,IAAKxF,MAAM,CAACyF,IAAI,CAAC,MAAMxB,SAAS,CAACV,IAAI,EAAEa,GAAG,EAAEC,KAAK,EAAEmB,OAAO,CAAC,CAAC,CACrE,CAAC;AAEJ;;;;;;AAMO,MAAME,SAAS,GAAArD,OAAA,CAAAqD,SAAA,gBAGlB,IAAAjF,SAAA,CAAAyD,IAAI,EAQN,CAAC,EAAE,CAACX,IAAI,EAAEa,GAAG,KAAKzD,cAAc,CAACa,GAAG,CAAC+B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC,CAAC;AAE1D;;;;;;AAMO,MAAM5C,GAAG,GAAAa,OAAA,CAAAb,GAAA,gBAGZ,IAAAf,SAAA,CAAAyD,IAAI,EAQN,CAAC,EAAE,CAACX,IAAI,EAAEa,GAAG,KAAKpE,MAAM,CAAC2F,OAAO,CAAC,MAAMhF,cAAc,CAACa,GAAG,CAAC+B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC,CAAC,CAAC;AAEhF;;;;;;AAMO,MAAMc,MAAM,GAAA7C,OAAA,CAAA6C,MAAA,gBAGf,IAAAzE,SAAA,CAAAyD,IAAI,EAQN,CAAC,EAAE,CAACX,IAAI,EAAEa,GAAG,KACbpE,MAAM,CAAC2F,OAAO,CAAC,MAAK;EAClB,MAAMtB,KAAK,GAAG1D,cAAc,CAACa,GAAG,CAAC+B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC;EACnD,IAAIC,KAAK,CAACG,IAAI,KAAK,MAAM,EAAE;IACzB,OAAOxE,MAAM,CAAC4F,IAAI;EACpB;EACAjF,cAAc,CAACuE,MAAM,CAAC3B,IAAI,CAACX,OAAO,EAAEwB,GAAG,CAAC;EACxC,OAAO9D,KAAK,CAACuF,SAAS,CAACxB,KAAK,CAACI,KAAK,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL;;;;AAIO,MAAMZ,KAAK,GAAaN,IAAuB,IACpDvD,MAAM,CAAC8F,QAAQ,CACb9F,MAAM,CAAC+F,OAAO,CAACxC,IAAI,CAACX,OAAO,EAAE,CAAC,CAACoD,CAAC,EAAE3B,KAAK,CAAC,KAAK/D,KAAK,CAACuF,SAAS,CAACxB,KAAK,CAAC,CAAC,EACpErE,MAAM,CAACyF,IAAI,CAAC,MAAK;EACf9E,cAAc,CAACkD,KAAK,CAACN,IAAI,CAACX,OAAO,CAAC;AACpC,CAAC,CAAC,CACH;AAEH;;;;;;;AAAAP,OAAA,CAAAwB,KAAA,GAAAA,KAAA;AAOO,MAAMoC,GAAG,GAYZ,SAAAA,CAAA;EACF,IAAI7C,SAAS,CAAC8C,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAM3C,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAkB;IAC1C,MAAMgB,GAAG,GAAGhB,SAAS,CAAC,CAAC,CAAC;IACxB,OAAQ+C,MAAoC,IAC1CnG,MAAM,CAACoG,GAAG,CACRpG,MAAM,CAACqG,UAAU,CAACF,MAAM,CAAC,EACxB9B,KAAK,IAAKlC,GAAG,CAACoB,IAAI,EAAEa,GAAG,EAAEC,KAAK,CAAC,CACjC;EACL;EACA,MAAMd,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAkB;EAC1C,MAAMgB,GAAG,GAAGhB,SAAS,CAAC,CAAC,CAAC;EACxB,MAAM+C,MAAM,GAAG/C,SAAS,CAAC,CAAC,CAAiC;EAC3D,OAAOpD,MAAM,CAACoG,GAAG,CACfpG,MAAM,CAACqG,UAAU,CAACF,MAAM,CAAC,EACxB9B,KAAK,IAAKlC,GAAG,CAACoB,IAAI,EAAEa,GAAG,EAAEC,KAAK,CAAC,CAC1B;AACV,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAhC,OAAA,CAAA4D,GAAA,GAAAA,GAAA;AA2BO,MAAMjC,OAAO,GAUNT,IAAuB,IAAK,MACxCvD,MAAM,CAAC2D,GAAG,CACR3D,MAAM,CAACgE,OAAO,EAAK,EAClBA,OAAO,IAAI;EACV,MAAMsC,OAAO,GAAGvF,OAAO,CAACuF,OAAO,CAACtC,OAAO,CAAC;EACxC,OAAO,CACLI,GAAM,EACN+B,MAAgC,EAChCI,OAA4C,KAC1C;IACF,MAAMlC,KAAK,GAAGiC,OAAO,CAACH,MAAM,EAAEI,OAAO,CAAC;IACtCtC,SAAS,CAACV,IAAI,EAAEa,GAAG,EAAEC,KAAK,CAAC;IAC3B,OAAOA,KAAK;EACd,CAAC;AACH,CAAC,CACF;AAEH;;;;AAAAhC,OAAA,CAAA2B,OAAA,GAAAA,OAAA;AAIO,MAAMwC,IAAI,GAAajD,IAAuB,IACnDvD,MAAM,CAACyF,IAAI,CAAC,MAAM9E,cAAc,CAAC6F,IAAI,CAACjD,IAAI,CAACX,OAAO,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;AAAAP,OAAA,CAAAmE,IAAA,GAAAA,IAAA;AAiBO,MAAMC,IAAI,GAAalD,IAAuB,IACnDnD,QAAQ,CAACsG,KAAK,CAACnD,IAAI,CAACD,QAAuC,CAAC;AAAAjB,OAAA,CAAAoE,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"file":"FiberMap.js","names":["Effect","_interopRequireWildcard","require","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","_Function","Inspectable","Iterable","MutableHashMap","Option","_Pipeable","Predicate","Runtime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isFiberMap","hasProperty","Proto","iterator","state","_tag","empty","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","pipeArguments","arguments","unsafeMake","deferred","self","create","make","acquireRelease","map","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","unsafeSet","dual","args","key","fiber","options","unsafeInterruptAsFork","interruptAs","none","previous","onlyIfMissing","value","setFiberRef","unhandledErrorLogLevel","addObserver","exit","current","isSome","remove","isFailure","isInterruptedOnly","cause","unsafeDone","fiberIdWith","fiberId","sync","unsafeGet","unsafeHas","interrupt","forEach","run","isEffect","effect","uninterruptibleMask","restore","tap","forkDaemon","runFork","size","join","await"],"sources":["../../src/FiberMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAGA,IAAAC,KAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,QAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,IAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,KAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,OAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,QAAA,gBAAAP,uBAAA,eAAAC,OAAA;AACA,IAAAO,SAAA,gBAAAP,OAAA;AACA,IAAAQ,WAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,QAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,cAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,MAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AACA,IAAAY,SAAA,gBAAAZ,OAAA;AACA,IAAAa,SAAA,gBAAAd,uBAAA,eAAAC,OAAA;AACA,IAAAc,OAAA,gBAAAf,uBAAA,eAAAC,OAAA;AAAuC,SAAAe,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AApBvC;;;;AAsBA;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AA0BnD;;;;AAIO,MAAMC,UAAU,GAAIT,CAAU,IAA6BjB,SAAS,CAAC2B,WAAW,CAACV,CAAC,EAAEK,MAAM,CAAC;AAAAC,OAAA,CAAAG,UAAA,GAAAA,UAAA;AAElG,MAAME,KAAK,GAAG;EACZ,CAACN,MAAM,GAAGA,MAAM;EAChB,CAACE,MAAM,CAACK,QAAQ,IAAC;IACf,IAAI,IAAI,CAACC,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MAChC,OAAOnC,QAAQ,CAACoC,KAAK,EAAE;IACzB;IACA,OAAO,IAAI,CAACF,KAAK,CAACG,OAAO,CAACT,MAAM,CAACK,QAAQ,CAAC,EAAE;EAC9C,CAAC;EACDK,QAAQA,CAAA;IACN,OAAOvC,WAAW,CAACwC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE,CAAC;EAC1C,CAAC;EACDA,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,UAAU;MACfP,KAAK,EAAE,IAAI,CAACA;KACb;EACH,CAAC;EACD,CAACnC,WAAW,CAAC2C,iBAAiB,IAAC;IAC7B,OAAO,IAAI,CAACF,MAAM,EAAE;EACtB,CAAC;EACDG,IAAIA,CAAA;IACF,OAAO,IAAAxC,SAAA,CAAAyC,aAAa,EAAC,IAAI,EAAEC,SAAS,CAAC;EACvC;CACD;AAED,MAAMC,UAAU,GAAGA,CACjBT,OAAmE,EACnEU,QAAoC,KACf;EACrB,MAAMC,IAAI,GAAG9B,MAAM,CAAC+B,MAAM,CAACjB,KAAK,CAAC;EACjCgB,IAAI,CAACd,KAAK,GAAG;IAAEC,IAAI,EAAE,MAAM;IAAEE;EAAO,CAAE;EACtCW,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EACxB,OAAOC,IAAI;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAME,IAAI,GAAGA,CAAA,KAClB7D,MAAM,CAAC8D,cAAc,CACnB9D,MAAM,CAAC+D,GAAG,CAAC3D,QAAQ,CAACyD,IAAI,EAAW,EAAGH,QAAQ,IAC5CD,UAAU,CACR7C,cAAc,CAACmC,KAAK,EAAE,EACtBW,QAAQ,CACT,CAAC,EACHK,GAAG,IACF/D,MAAM,CAACgE,QAAQ,CACbC,KAAK,CAACF,GAAG,CAAC,EACV/D,MAAM,CAACkE,OAAO,CAAC,MAAK;EAClBH,GAAG,CAAClB,KAAK,GAAG;IAAEC,IAAI,EAAE;EAAQ,CAAE;EAC9B,OAAO1C,QAAQ,CAAC+D,IAAI,CAACJ,GAAG,CAACL,QAAQ,EAAErD,IAAI,CAAC+D,IAAI,CAAC;AAC/C,CAAC,CAAC,CACH,CACJ;AAEH;;;;;;AAAA9B,OAAA,CAAAuB,IAAA,GAAAA,IAAA;AAMO,MAAMQ,WAAW,GAAGA,CAAA,KAazBrE,MAAM,CAACsE,OAAO,CACZT,IAAI,EAAW,EACdF,IAAI,IAAKY,OAAO,CAACZ,IAAI,CAAC,EAAK,CAC7B;AAEH;;;;;;;AAAArB,OAAA,CAAA+B,WAAA,GAAAA,WAAA;AAOO,MAAMG,SAAS,GAAAlC,OAAA,CAAAkC,SAAA,gBAkBlB,IAAA/D,SAAA,CAAAgE,IAAI,EAAEC,IAAI,IAAKjC,UAAU,CAACiC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CACtCf,IAAuB,EACvBgB,GAAM,EACNC,KAAiC,EACjCC,OAGa,KACL;EACR,IAAIlB,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IAChC8B,KAAK,CAACE,qBAAqB,CAACD,OAAO,EAAEE,WAAW,IAAIxE,OAAO,CAACyE,IAAI,CAAC;IACjE;EACF;EAEA,MAAMC,QAAQ,GAAGrE,cAAc,CAACa,GAAG,CAACkC,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC;EAC5D,IAAIM,QAAQ,CAACnC,IAAI,KAAK,MAAM,EAAE;IAC5B,IAAI+B,OAAO,EAAEK,aAAa,KAAK,IAAI,EAAE;MACnCN,KAAK,CAACE,qBAAqB,CAACD,OAAO,EAAEE,WAAW,IAAIxE,OAAO,CAACyE,IAAI,CAAC;MACjE;IACF,CAAC,MAAM,IAAIC,QAAQ,CAACE,KAAK,KAAKP,KAAK,EAAE;MACnC;IACF;IACAK,QAAQ,CAACE,KAAK,CAACL,qBAAqB,CAACD,OAAO,EAAEE,WAAW,IAAIxE,OAAO,CAACyE,IAAI,CAAC;EAC5E;EAEA;EAAEJ,KAAwC,CAACQ,WAAW,CAAC5E,QAAQ,CAAC6E,sBAAsB,EAAExE,MAAM,CAACmE,IAAI,EAAE,CAAC;EACtGpE,cAAc,CAACwB,GAAG,CAACuB,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,EAAEC,KAAK,CAAC;EAClDA,KAAK,CAACU,WAAW,CAAEC,IAAI,IAAI;IACzB,IAAI5B,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MAChC;IACF;IACA,MAAM0C,OAAO,GAAG5E,cAAc,CAACa,GAAG,CAACkC,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC;IAC3D,IAAI9D,MAAM,CAAC4E,MAAM,CAACD,OAAO,CAAC,IAAIZ,KAAK,KAAKY,OAAO,CAACL,KAAK,EAAE;MACrDvE,cAAc,CAAC8E,MAAM,CAAC/B,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC;IAChD;IACA,IAAItE,IAAI,CAACsF,SAAS,CAACJ,IAAI,CAAC,IAAI,CAACpF,KAAK,CAACyF,iBAAiB,CAACL,IAAI,CAACM,KAAK,CAAC,EAAE;MAChEzF,QAAQ,CAAC0F,UAAU,CAACnC,IAAI,CAACD,QAAQ,EAAE6B,IAAW,CAAC;IACjD;EACF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAMnD,GAAG,GAAAE,OAAA,CAAAF,GAAA,gBAgBZ,IAAA3B,SAAA,CAAAgE,IAAI,EAAEC,IAAI,IAAKjC,UAAU,CAACiC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CACtCf,IAAuB,EACvBgB,GAAM,EACNC,KAAiC,EACjCC,OAEa,KAEb7E,MAAM,CAAC+F,WAAW,CACfC,OAAO,IACNhG,MAAM,CAACiG,IAAI,CAAC,MACVzB,SAAS,CAACb,IAAI,EAAEgB,GAAG,EAAEC,KAAK,EAAE;EAC1BG,WAAW,EAAEiB,OAAO;EACpBd,aAAa,EAAEL,OAAO,EAAEK;CACzB,CAAC,CACH,CACJ,CAAC;AAEJ;;;;;;AAMO,MAAMgB,SAAS,GAAA5D,OAAA,CAAA4D,SAAA,gBAGlB,IAAAzF,SAAA,CAAAgE,IAAI,EAQN,CAAC,EAAE,CAACd,IAAI,EAAEgB,GAAG,KAAKhB,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAGjC,MAAM,CAACmE,IAAI,EAAE,GAAGpE,cAAc,CAACa,GAAG,CAACkC,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC,CAAC;AAE/G;;;;;;AAMO,MAAMlD,GAAG,GAAAa,OAAA,CAAAb,GAAA,gBAGZ,IAAAhB,SAAA,CAAAgE,IAAI,EAQN,CAAC,EAAE,CAACd,IAAI,EAAEgB,GAAG,KAAK3E,MAAM,CAACkE,OAAO,CAAC,MAAMgC,SAAS,CAACvC,IAAI,EAAEgB,GAAG,CAAC,CAAC,CAAC;AAE/D;;;;;;AAMO,MAAMwB,SAAS,GAAA7D,OAAA,CAAA6D,SAAA,gBAGlB,IAAA1F,SAAA,CAAAgE,IAAI,EACN,CAAC,EACD,CAAUd,IAAuB,EAAEgB,GAAM,KACvChB,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAGlC,cAAc,CAACY,GAAG,CAACmC,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC,CACrF;AAED;;;;;;AAMO,MAAMnD,GAAG,GAAAc,OAAA,CAAAd,GAAA,gBAGZ,IAAAf,SAAA,CAAAgE,IAAI,EACN,CAAC,EACD,CAAUd,IAAuB,EAAEgB,GAAM,KAA6B3E,MAAM,CAACiG,IAAI,CAAC,MAAME,SAAS,CAACxC,IAAI,EAAEgB,GAAG,CAAC,CAAC,CAC9G;AAED;;;;;;AAMO,MAAMe,MAAM,GAAApD,OAAA,CAAAoD,MAAA,gBAGf,IAAAjF,SAAA,CAAAgE,IAAI,EAQN,CAAC,EAAE,CAACd,IAAI,EAAEgB,GAAG,KACb3E,MAAM,CAACkE,OAAO,CAAC,MAAK;EAClB,IAAIP,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO9C,MAAM,CAACoE,IAAI;EACpB;EACA,MAAMQ,KAAK,GAAGhE,cAAc,CAACa,GAAG,CAACkC,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE2B,GAAG,CAAC;EACzD,IAAIC,KAAK,CAAC9B,IAAI,KAAK,MAAM,EAAE;IACzB,OAAO9C,MAAM,CAACoE,IAAI;EACpB;EACA;EACA,OAAO9D,KAAK,CAAC8F,SAAS,CAACxB,KAAK,CAACO,KAAK,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL;;;;AAIO,MAAMlB,KAAK,GAAaN,IAAuB,IACpD3D,MAAM,CAACkE,OAAO,CAAC,MAAK;EAClB,IAAIP,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO9C,MAAM,CAACoE,IAAI;EACpB;EAEA,OAAOpE,MAAM,CAACqG,OAAO,CAAC1C,IAAI,CAACd,KAAK,CAACG,OAAO,EAAE,CAAC,GAAG4B,KAAK,CAAC;EAClD;EACAtE,KAAK,CAAC8F,SAAS,CAACxB,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEJ;;;;;;;AAAAtC,OAAA,CAAA2B,KAAA,GAAAA,KAAA;AAOO,MAAMqC,GAAG,GAkBZ,SAAAA,CAAA;EACF,IAAItG,MAAM,CAACuG,QAAQ,CAAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;IACjC,MAAMG,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAkB;IAC1C,MAAMmB,GAAG,GAAGnB,SAAS,CAAC,CAAC,CAAC;IACxB,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,CAAC,CAAiC;IAC3D,MAAMqB,OAAO,GAAGrB,SAAS,CAAC,CAAC,CAAqD;IAChF,OAAOxD,MAAM,CAACkE,OAAO,CAAC,MAAK;MACzB,IAAIP,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;QAChC,OAAO9C,MAAM,CAACoG,SAAS;MACzB;MACA,OAAOpG,MAAM,CAACyG,mBAAmB,CAAEC,OAAO,IACxC1G,MAAM,CAAC2G,GAAG,CACRD,OAAO,CAAC1G,MAAM,CAAC4G,UAAU,CAACJ,MAAM,CAAC,CAAC,EACjC5B,KAAK,IAAKxC,GAAG,CAACuB,IAAI,EAAEgB,GAAG,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAC1C,CACF;IACH,CAAC,CAAQ;EACX;EACA,MAAMlB,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAkB;EAC1C,MAAMmB,GAAG,GAAGnB,SAAS,CAAC,CAAC,CAAC;EACxB,MAAMqB,OAAO,GAAGrB,SAAS,CAAC,CAAC,CAAqD;EAChF,OAAQgD,MAAoC,IAC1CxG,MAAM,CAACkE,OAAO,CAAC,MAAK;IAClB,IAAIP,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MAChC,OAAO9C,MAAM,CAACoG,SAAS;IACzB;IACA,OAAOpG,MAAM,CAACyG,mBAAmB,CAAEC,OAAO,IACxC1G,MAAM,CAAC2G,GAAG,CACRD,OAAO,CAAC1G,MAAM,CAAC4G,UAAU,CAACJ,MAAM,CAAC,CAAC,EACjC5B,KAAK,IAAKxC,GAAG,CAACuB,IAAI,EAAEgB,GAAG,EAAEC,KAAK,EAAEC,OAAO,CAAC,CAC1C,CACF;EACH,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAvC,OAAA,CAAAgE,GAAA,GAAAA,GAAA;AA2BO,MAAM/B,OAAO,GAcNZ,IAAuB,IAAK,MACxC3D,MAAM,CAAC+D,GAAG,CACR/D,MAAM,CAACuE,OAAO,EAAK,EAClBA,OAAO,IAAI;EACV,MAAMsC,OAAO,GAAG7F,OAAO,CAAC6F,OAAO,CAACtC,OAAO,CAAC;EACxC,OAAO,CACLI,GAAM,EACN6B,MAAgC,EAChC3B,OAIa,KACX;IACF,MAAMD,KAAK,GAAGiC,OAAO,CAACL,MAAM,EAAE3B,OAAO,CAAC;IACtCL,SAAS,CAACb,IAAI,EAAEgB,GAAG,EAAEC,KAAK,EAAEC,OAAO,CAAC;IACpC,OAAOD,KAAK;EACd,CAAC;AACH,CAAC,CACF;AAEH;;;;AAAAtC,OAAA,CAAAiC,OAAA,GAAAA,OAAA;AAIO,MAAMuC,IAAI,GAAanD,IAAuB,IACnD3D,MAAM,CAACiG,IAAI,CAAC,MAAMtC,IAAI,CAACd,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAG,CAAC,GAAGlC,cAAc,CAACkG,IAAI,CAACnD,IAAI,CAACd,KAAK,CAACG,OAAO,CAAC,CAAC;AAE/F;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAwE,IAAA,GAAAA,IAAA;AAiBO,MAAMC,IAAI,GAAapD,IAAuB,IACnDvD,QAAQ,CAAC4G,KAAK,CAACrD,IAAI,CAACD,QAAsC,CAAC;AAAApB,OAAA,CAAAyE,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FiberRefs.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FiberRefsSym","exports","delete_","delete","fiberRefs","forkAs","getOrDefault","joinAs","setAll","updateAs","updateManyAs","unsafeMake","empty"],"sources":["../../src/FiberRefs.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAmD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAKnD;;;;AAIO,MAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAkBvB,QAAQ,CAACuB,YAAY;AAsBhE,MAAME,OAAO,GAAAD,OAAA,CAAAE,MAAA,GAGT1B,QAAQ,CAACyB,OAAO;AAYpB;;;;;;AAMO,MAAME,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAiE3B,QAAQ,CAAC2B,SAAS;AAEzG;;;;;;;;AAQO,MAAMC,MAAM,GAAAJ,OAAA,CAAAI,MAAA,GAGf5B,QAAQ,CAAC4B,MAAM;AAEnB;;;;;;;AAOO,MAAMjB,GAAG,GAAAa,OAAA,CAAAb,GAAA,GAGZX,QAAQ,CAACW,GAAG;AAEhB;;;;;;;AAOO,MAAMkB,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAGrB7B,QAAQ,CAAC6B,YAAY;AAEzB;;;;;;;;AAQO,MAAMC,MAAM,GAAAN,OAAA,CAAAM,MAAA,GAGf9B,QAAQ,CAAC8B,MAAM;AAEnB;;;;;;AAMO,MAAMC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAA6C/B,QAAQ,CAAC+B,MAAM;AAE/E;;;;;;AAMO,MAAMC,QAAQ,GAAAR,OAAA,CAAAQ,QAAA,GAgBjBhC,QAAQ,CAACgC,QAAQ;AAErB;;;;;;AAMO,MAAMC,YAAY,GAAAT,OAAA,CAAAS,YAAA,GAoCrBjC,QAAQ,CAACiC,YAAY;AAEzB;;;;;;AAMO,MAAMC,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAENlC,QAAQ,CAACkC,UAAU;AAEpC;;;;;;AAMO,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAoBnC,QAAQ,CAACmC,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"FiberRefs.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FiberRefsSym","exports","delete_","delete","fiberRefs","forkAs","getOrDefault","joinAs","setAll","updateAs","updateManyAs","unsafeMake","empty"],"sources":["../../src/FiberRefs.ts"],"sourcesContent":[null],"mappings":";;;;;;AAQA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAmD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAInD;;;;AAIO,MAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAkBvB,QAAQ,CAACuB,YAAY;AAsBhE,MAAME,OAAO,GAAAD,OAAA,CAAAE,MAAA,GAGT1B,QAAQ,CAACyB,OAAO;AAYpB;;;;;;AAMO,MAAME,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAiE3B,QAAQ,CAAC2B,SAAS;AAEzG;;;;;;;;AAQO,MAAMC,MAAM,GAAAJ,OAAA,CAAAI,MAAA,GAGf5B,QAAQ,CAAC4B,MAAM;AAEnB;;;;;;;AAOO,MAAMjB,GAAG,GAAAa,OAAA,CAAAb,GAAA,GAGZX,QAAQ,CAACW,GAAG;AAEhB;;;;;;;AAOO,MAAMkB,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAGrB7B,QAAQ,CAAC6B,YAAY;AAEzB;;;;;;;;AAQO,MAAMC,MAAM,GAAAN,OAAA,CAAAM,MAAA,GAGf9B,QAAQ,CAAC8B,MAAM;AAEnB;;;;;;AAMO,MAAMC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAA6C/B,QAAQ,CAAC+B,MAAM;AAE/E;;;;;;AAMO,MAAMC,QAAQ,GAAAR,OAAA,CAAAQ,QAAA,GAgBjBhC,QAAQ,CAACgC,QAAQ;AAErB;;;;;;AAMO,MAAMC,YAAY,GAAAT,OAAA,CAAAS,YAAA,GAoCrBjC,QAAQ,CAACiC,YAAY;AAEzB;;;;;;AAMO,MAAMC,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAENlC,QAAQ,CAACkC,UAAU;AAEpC;;;;;;AAMO,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAoBnC,QAAQ,CAACmC,KAAK","ignoreList":[]}