@fncts/io 0.0.31 → 0.0.33

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 (342) hide show
  1. package/Channel/api/runScoped.d.ts +1 -0
  2. package/Channel/api.d.ts +1 -0
  3. package/Channel/internal/ChannelExecutor.d.ts +2 -2
  4. package/Fiber/FiberMessage.d.ts +5 -5
  5. package/Fiber/FiberRuntime.d.ts +3 -3
  6. package/IO/api/provideSomeLayer.d.ts +1 -2
  7. package/IO/api/zipConcurrent.d.ts +2 -1
  8. package/IO/api.d.ts +2 -1
  9. package/IO/definition.d.ts +34 -24
  10. package/IO/runtime.d.ts +10 -18
  11. package/STM/definition.d.ts +1 -1
  12. package/Stream/api.d.ts +113 -5
  13. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
  14. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  15. package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
  16. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  17. package/_cjs/Channel/api/mergeWith.cjs +4 -4
  18. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  19. package/_cjs/Channel/api/runScoped.cjs +19 -3
  20. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  21. package/_cjs/Channel/api/toPull.cjs +3 -3
  22. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  23. package/_cjs/Channel/api.cjs +8 -7
  24. package/_cjs/Channel/api.cjs.map +1 -1
  25. package/_cjs/Channel/internal/ChannelExecutor.cjs +71 -62
  26. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  27. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
  28. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  29. package/_cjs/Clock/live.cjs +1 -1
  30. package/_cjs/Clock/live.cjs.map +1 -1
  31. package/_cjs/Fiber/FiberMessage.cjs +12 -11
  32. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  33. package/_cjs/Fiber/FiberRuntime.cjs +102 -70
  34. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  35. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  36. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  37. package/_cjs/Fiber/api/mapIO.cjs +1 -1
  38. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  39. package/_cjs/Fiber/api/zipWith.cjs +1 -1
  40. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  41. package/_cjs/Fiber/constructors.cjs +5 -5
  42. package/_cjs/Fiber/constructors.cjs.map +1 -1
  43. package/_cjs/FiberRef/unsafe.cjs +3 -2
  44. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  45. package/_cjs/FiberScope/definition.cjs +2 -2
  46. package/_cjs/FiberScope/definition.cjs.map +1 -1
  47. package/_cjs/Future/api.cjs +4 -4
  48. package/_cjs/Future/api.cjs.map +1 -1
  49. package/_cjs/Hub/api.cjs.map +1 -1
  50. package/_cjs/Hub/internal.cjs +1 -1
  51. package/_cjs/Hub/internal.cjs.map +1 -1
  52. package/_cjs/IO/api/asyncIO.cjs +1 -1
  53. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  54. package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
  55. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  56. package/_cjs/IO/api/concurrency.cjs +3 -3
  57. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  58. package/_cjs/IO/api/daemonChildren.cjs +1 -1
  59. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  60. package/_cjs/IO/api/fork.cjs +2 -1
  61. package/_cjs/IO/api/fork.cjs.map +1 -1
  62. package/_cjs/IO/api/interrupt.cjs +2 -2
  63. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  64. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  65. package/_cjs/IO/api/raceWith.cjs +9 -12
  66. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  67. package/_cjs/IO/api/repeat.cjs +2 -2
  68. package/_cjs/IO/api/repeat.cjs.map +1 -1
  69. package/_cjs/IO/api/stateful.cjs +3 -3
  70. package/_cjs/IO/api/stateful.cjs.map +1 -1
  71. package/_cjs/IO/api/timeout.cjs +1 -1
  72. package/_cjs/IO/api/timeout.cjs.map +1 -1
  73. package/_cjs/IO/api/transplant.cjs +1 -1
  74. package/_cjs/IO/api/transplant.cjs.map +1 -1
  75. package/_cjs/IO/api/withChildren.cjs +5 -4
  76. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  77. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  78. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  79. package/_cjs/IO/api/zipConcurrent.cjs +23 -23
  80. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  81. package/_cjs/IO/api.cjs +33 -32
  82. package/_cjs/IO/api.cjs.map +1 -1
  83. package/_cjs/IO/definition.cjs +17 -31
  84. package/_cjs/IO/definition.cjs.map +1 -1
  85. package/_cjs/IO/runtime.cjs +47 -40
  86. package/_cjs/IO/runtime.cjs.map +1 -1
  87. package/_cjs/Logger/api.cjs +3 -2
  88. package/_cjs/Logger/api.cjs.map +1 -1
  89. package/_cjs/MVar/api.cjs +11 -11
  90. package/_cjs/MVar/api.cjs.map +1 -1
  91. package/_cjs/Push/api.cjs +3 -3
  92. package/_cjs/Push/api.cjs.map +1 -1
  93. package/_cjs/Push/internal.cjs +1 -1
  94. package/_cjs/Push/internal.cjs.map +1 -1
  95. package/_cjs/Queue/api/filterInputIO.cjs +2 -2
  96. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  97. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  98. package/_cjs/Ref/Derived.cjs +4 -4
  99. package/_cjs/Ref/Derived.cjs.map +1 -1
  100. package/_cjs/Ref/DerivedAll.cjs +5 -5
  101. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  102. package/_cjs/Ref/Synchronized/api.cjs +3 -3
  103. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  104. package/_cjs/Ref/api/collect.cjs +1 -1
  105. package/_cjs/Ref/api/collect.cjs.map +1 -1
  106. package/_cjs/Ref/api/dimap.cjs +3 -3
  107. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  108. package/_cjs/Ref/api/filter.cjs +2 -2
  109. package/_cjs/Ref/api/filter.cjs.map +1 -1
  110. package/_cjs/Ref/api.cjs +2 -3
  111. package/_cjs/Ref/api.cjs.map +1 -1
  112. package/_cjs/RefSubject/Atomic.cjs +6 -6
  113. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  114. package/_cjs/STM/api.cjs +5 -5
  115. package/_cjs/STM/api.cjs.map +1 -1
  116. package/_cjs/STM/definition.cjs +1 -1
  117. package/_cjs/STM/definition.cjs.map +1 -1
  118. package/_cjs/STM/internal/CommitState.cjs +5 -4
  119. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  120. package/_cjs/STM/internal/Journal.cjs +8 -8
  121. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  122. package/_cjs/Schedule/api/driver.cjs +3 -3
  123. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  124. package/_cjs/Schedule/api.cjs +8 -8
  125. package/_cjs/Schedule/api.cjs.map +1 -1
  126. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
  127. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  128. package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
  129. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  130. package/_cjs/ScopedRef/api.cjs +1 -1
  131. package/_cjs/ScopedRef/api.cjs.map +1 -1
  132. package/_cjs/Semaphore.cjs +2 -2
  133. package/_cjs/Semaphore.cjs.map +1 -1
  134. package/_cjs/Sink/api.cjs +6 -6
  135. package/_cjs/Sink/api.cjs.map +1 -1
  136. package/_cjs/Stream/api/zipAllWith.cjs +8 -8
  137. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  138. package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
  139. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  140. package/_cjs/Stream/api.cjs +415 -133
  141. package/_cjs/Stream/api.cjs.map +1 -1
  142. package/_cjs/Stream/internal/Handoff.cjs +2 -2
  143. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  144. package/_cjs/Stream/internal/Pull.cjs +2 -2
  145. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  146. package/_cjs/Stream/internal/Take.cjs +6 -6
  147. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  148. package/_cjs/Stream/internal/util.cjs +3 -2
  149. package/_cjs/Stream/internal/util.cjs.map +1 -1
  150. package/_cjs/TFuture/api.cjs +3 -3
  151. package/_cjs/TFuture/api.cjs.map +1 -1
  152. package/_cjs/TFuture/constructors.cjs +1 -1
  153. package/_cjs/TFuture/constructors.cjs.map +1 -1
  154. package/_cjs/TRef/definition.cjs +9 -9
  155. package/_cjs/TRef/definition.cjs.map +1 -1
  156. package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
  157. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  158. package/_cjs/data/Exit/foreachIO.cjs +1 -1
  159. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  160. package/_mjs/Cached/definition.mjs.map +1 -1
  161. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  162. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  163. package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
  164. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  165. package/_mjs/Channel/api/mergeWith.mjs +4 -4
  166. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  167. package/_mjs/Channel/api/runScoped.mjs +19 -3
  168. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  169. package/_mjs/Channel/api/toPull.mjs +3 -3
  170. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  171. package/_mjs/Channel/api.mjs +8 -7
  172. package/_mjs/Channel/api.mjs.map +1 -1
  173. package/_mjs/Channel/internal/ChannelExecutor.mjs +71 -62
  174. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  175. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
  176. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  177. package/_mjs/Clock/live.mjs +1 -1
  178. package/_mjs/Clock/live.mjs.map +1 -1
  179. package/_mjs/Fiber/FiberMessage.mjs +5 -5
  180. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  181. package/_mjs/Fiber/FiberRuntime.mjs +102 -70
  182. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  183. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  184. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  185. package/_mjs/Fiber/api/mapIO.mjs +1 -1
  186. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  187. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  188. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  189. package/_mjs/Fiber/constructors.mjs +5 -5
  190. package/_mjs/Fiber/constructors.mjs.map +1 -1
  191. package/_mjs/FiberRef/unsafe.mjs +3 -2
  192. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  193. package/_mjs/FiberScope/definition.mjs +2 -2
  194. package/_mjs/FiberScope/definition.mjs.map +1 -1
  195. package/_mjs/Future/api.mjs +4 -4
  196. package/_mjs/Future/api.mjs.map +1 -1
  197. package/_mjs/Hub/api.mjs.map +1 -1
  198. package/_mjs/Hub/internal.mjs +1 -1
  199. package/_mjs/Hub/internal.mjs.map +1 -1
  200. package/_mjs/IO/api/asyncIO.mjs +1 -1
  201. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  202. package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
  203. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  204. package/_mjs/IO/api/concurrency.mjs +3 -3
  205. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  206. package/_mjs/IO/api/daemonChildren.mjs +1 -1
  207. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  208. package/_mjs/IO/api/fork.mjs +2 -1
  209. package/_mjs/IO/api/fork.mjs.map +1 -1
  210. package/_mjs/IO/api/interrupt.mjs +2 -2
  211. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  212. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  213. package/_mjs/IO/api/raceWith.mjs +9 -12
  214. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  215. package/_mjs/IO/api/repeat.mjs +2 -2
  216. package/_mjs/IO/api/repeat.mjs.map +1 -1
  217. package/_mjs/IO/api/stateful.mjs +3 -3
  218. package/_mjs/IO/api/stateful.mjs.map +1 -1
  219. package/_mjs/IO/api/timeout.mjs +1 -1
  220. package/_mjs/IO/api/timeout.mjs.map +1 -1
  221. package/_mjs/IO/api/transplant.mjs +1 -1
  222. package/_mjs/IO/api/transplant.mjs.map +1 -1
  223. package/_mjs/IO/api/withChildren.mjs +5 -4
  224. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  225. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  226. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  227. package/_mjs/IO/api/zipConcurrent.mjs +23 -23
  228. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  229. package/_mjs/IO/api.mjs +32 -30
  230. package/_mjs/IO/api.mjs.map +1 -1
  231. package/_mjs/IO/definition.mjs +16 -27
  232. package/_mjs/IO/definition.mjs.map +1 -1
  233. package/_mjs/IO/runtime.mjs +43 -34
  234. package/_mjs/IO/runtime.mjs.map +1 -1
  235. package/_mjs/Logger/api.mjs +3 -2
  236. package/_mjs/Logger/api.mjs.map +1 -1
  237. package/_mjs/MVar/api.mjs +11 -11
  238. package/_mjs/MVar/api.mjs.map +1 -1
  239. package/_mjs/Push/api.mjs +3 -3
  240. package/_mjs/Push/api.mjs.map +1 -1
  241. package/_mjs/Push/internal.mjs +1 -1
  242. package/_mjs/Push/internal.mjs.map +1 -1
  243. package/_mjs/Queue/api/filterInputIO.mjs +2 -2
  244. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  245. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  246. package/_mjs/Ref/Derived.mjs +4 -4
  247. package/_mjs/Ref/Derived.mjs.map +1 -1
  248. package/_mjs/Ref/DerivedAll.mjs +5 -5
  249. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  250. package/_mjs/Ref/Synchronized/api.mjs +3 -3
  251. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  252. package/_mjs/Ref/api/collect.mjs +1 -1
  253. package/_mjs/Ref/api/collect.mjs.map +1 -1
  254. package/_mjs/Ref/api/dimap.mjs +3 -3
  255. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  256. package/_mjs/Ref/api/filter.mjs +2 -2
  257. package/_mjs/Ref/api/filter.mjs.map +1 -1
  258. package/_mjs/Ref/api.mjs +2 -1
  259. package/_mjs/Ref/api.mjs.map +1 -1
  260. package/_mjs/RefSubject/Atomic.mjs +6 -6
  261. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  262. package/_mjs/STM/api.mjs +5 -5
  263. package/_mjs/STM/api.mjs.map +1 -1
  264. package/_mjs/STM/definition.mjs +1 -1
  265. package/_mjs/STM/definition.mjs.map +1 -1
  266. package/_mjs/STM/internal/CommitState.mjs +5 -4
  267. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  268. package/_mjs/STM/internal/Journal.mjs +8 -8
  269. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  270. package/_mjs/Schedule/api/driver.mjs +3 -3
  271. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  272. package/_mjs/Schedule/api.mjs +8 -8
  273. package/_mjs/Schedule/api.mjs.map +1 -1
  274. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
  275. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  276. package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
  277. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  278. package/_mjs/ScopedRef/api.mjs +1 -1
  279. package/_mjs/ScopedRef/api.mjs.map +1 -1
  280. package/_mjs/Semaphore.mjs +2 -2
  281. package/_mjs/Semaphore.mjs.map +1 -1
  282. package/_mjs/Sink/api.mjs +6 -6
  283. package/_mjs/Sink/api.mjs.map +1 -1
  284. package/_mjs/Stream/api/zipAllWith.mjs +8 -8
  285. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  286. package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
  287. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  288. package/_mjs/Stream/api.mjs +321 -60
  289. package/_mjs/Stream/api.mjs.map +1 -1
  290. package/_mjs/Stream/internal/Handoff.mjs +2 -2
  291. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  292. package/_mjs/Stream/internal/Pull.mjs +2 -2
  293. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  294. package/_mjs/Stream/internal/Take.mjs +6 -6
  295. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  296. package/_mjs/Stream/internal/util.mjs +3 -2
  297. package/_mjs/Stream/internal/util.mjs.map +1 -1
  298. package/_mjs/TFuture/api.mjs +3 -3
  299. package/_mjs/TFuture/api.mjs.map +1 -1
  300. package/_mjs/TFuture/constructors.mjs +1 -1
  301. package/_mjs/TFuture/constructors.mjs.map +1 -1
  302. package/_mjs/TRef/definition.mjs +9 -9
  303. package/_mjs/TRef/definition.mjs.map +1 -1
  304. package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
  305. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  306. package/_mjs/data/Exit/foreachIO.mjs +1 -1
  307. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  308. package/_src/Cached/definition.ts +1 -1
  309. package/_src/Channel/api/runScoped.ts +30 -5
  310. package/_src/Channel/api/toPull.ts +1 -1
  311. package/_src/Channel/api.ts +1 -0
  312. package/_src/Channel/internal/ChannelExecutor.ts +24 -20
  313. package/_src/Fiber/FiberMessage.ts +5 -5
  314. package/_src/Fiber/FiberRuntime.ts +40 -17
  315. package/_src/FiberRefs/api.ts +1 -1
  316. package/_src/Hub/api.ts +1 -1
  317. package/_src/IO/api/asyncIO.ts +1 -1
  318. package/_src/IO/api/provideSomeLayer.ts +1 -3
  319. package/_src/IO/api/raceWith.ts +1 -3
  320. package/_src/IO/api/stateful.ts +1 -1
  321. package/_src/IO/api/zipConcurrent.ts +26 -30
  322. package/_src/IO/api.ts +4 -3
  323. package/_src/IO/definition.ts +35 -28
  324. package/_src/IO/runtime.ts +39 -38
  325. package/_src/Queue/api/filterInputIO.ts +1 -1
  326. package/_src/Queue/api/filterOutputIO.ts +1 -1
  327. package/_src/RefSubject/Atomic.ts +4 -4
  328. package/_src/STM/definition.ts +1 -1
  329. package/_src/State/definition.ts +1 -1
  330. package/_src/Stream/api.ts +315 -14
  331. package/_src/Subject/Atomic.ts +1 -1
  332. package/_src/global.ts +0 -4
  333. package/_src/index.ts +2 -2
  334. package/global.d.ts +0 -4
  335. package/index.d.ts +2 -2
  336. package/package.json +3 -3
  337. package/RuntimeConfig.d.ts +0 -11
  338. package/_cjs/RuntimeConfig.cjs +0 -12
  339. package/_cjs/RuntimeConfig.cjs.map +0 -1
  340. package/_mjs/RuntimeConfig.mjs +0 -3
  341. package/_mjs/RuntimeConfig.mjs.map +0 -1
  342. package/_src/RuntimeConfig.ts +0 -6
@@ -1,16 +1,14 @@
1
1
  import type { InterruptibilityRestorer } from "./interrupt.js";
2
2
  import type { Grafter } from "./transplant.js";
3
3
 
4
- import { tuple } from "@fncts/base/data/function";
5
4
  import { AtomicBoolean } from "@fncts/base/internal/AtomicBoolean";
6
- import { AtomicReference } from "@fncts/base/internal/AtomicReference";
7
5
 
8
6
  /**
9
7
  * @tsplus pipeable fncts.io.IO zipConcurrent
10
8
  */
11
9
  export function zipConcurrent<R1, E1, B>(that: IO<R1, E1, B>, __tsplusTrace?: string) {
12
- return <R, E, A>(self: IO<R, E, A>): IO<R | R1, E | E1, readonly [A, B]> => {
13
- return self.zipWithConcurrent(that, tuple);
10
+ return <R, E, A>(self: IO<R, E, A>): IO<R | R1, E | E1, Zipped.Make<A, B>> => {
11
+ return self.zipWithConcurrent(that, (a, b) => Zipped(a, b));
14
12
  };
15
13
  }
16
14
 
@@ -19,32 +17,30 @@ export function zipConcurrent<R1, E1, B>(that: IO<R1, E1, B>, __tsplusTrace?: st
19
17
  */
20
18
  export function zipWithConcurrent<A, R1, E1, B, C>(that: IO<R1, E1, B>, f: (a: A, b: B) => C, __tsplusTrace?: string) {
21
19
  return <R, E>(self: IO<R, E, A>): IO<R | R1, E | E1, C> => {
22
- return IO.fiberId.flatMap((fiberId) =>
23
- IO.uninterruptibleMask((restore) => {
24
- return IO.transplant((graft) => {
25
- const future = Future.unsafeMake<void, void>(FiberId.none);
26
- const ref = new AtomicBoolean(false);
27
- return fork(self, restore, graft, future, ref)
28
- .zip(fork(that, restore, graft, future, ref))
29
- .flatMap(([left, right]) =>
30
- restore(future.await).matchCauseIO(
31
- (cause) =>
32
- left.interruptFork >
33
- right.interruptFork >
34
- left.await.zip(right.await).flatMap(([left, right]) =>
35
- left
36
- .zipWithCause(right, f, (a, b) => Cause.both(a, b))
37
- .match(
38
- (causes) => IO.refailCause(Cause.both(cause.stripFailures, causes)),
39
- () => IO.refailCause(cause.stripFailures),
40
- ),
41
- ),
42
- () => left.join.zipWith(right.join, f),
43
- ),
44
- );
45
- });
46
- }),
47
- );
20
+ return IO.uninterruptibleMask((restore) => {
21
+ return IO.transplant((graft) => {
22
+ const future = Future.unsafeMake<void, void>(FiberId.none);
23
+ const ref = new AtomicBoolean(false);
24
+ return fork(self, restore, graft, future, ref)
25
+ .zip(fork(that, restore, graft, future, ref))
26
+ .flatMap(([left, right]) =>
27
+ restore(future.await).matchCauseIO(
28
+ (cause) =>
29
+ left.interruptFork >
30
+ right.interruptFork >
31
+ left.await.zip(right.await).flatMap(([left, right]) =>
32
+ left
33
+ .zipWithCause(right, f, (a, b) => Cause.both(a, b))
34
+ .match(
35
+ (causes) => IO.refailCause(Cause.both(cause.stripFailures, causes)),
36
+ () => IO.refailCause(cause.stripFailures),
37
+ ),
38
+ ),
39
+ () => left.join.zipWith(right.join, f),
40
+ ),
41
+ );
42
+ });
43
+ });
48
44
  };
49
45
  }
50
46
 
package/_src/IO/api.ts CHANGED
@@ -4,6 +4,7 @@ import type { _E, _R } from "@fncts/base/types";
4
4
  import type { FiberRuntime } from "@fncts/io/Fiber/FiberRuntime";
5
5
  import type { RuntimeFlags } from "@fncts/io/RuntimeFlags";
6
6
 
7
+ import { IOError } from "@fncts/base/data/exceptions";
7
8
  import { identity, pipe, tuple } from "@fncts/base/data/function";
8
9
  import {
9
10
  Async,
@@ -15,7 +16,7 @@ import {
15
16
  YieldNow,
16
17
  } from "@fncts/io/IO/definition";
17
18
  import { Stateful } from "@fncts/io/IO/definition";
18
- import { Fail, IO, IOError, SucceedNow } from "@fncts/io/IO/definition";
19
+ import { Fail, IO, SucceedNow } from "@fncts/io/IO/definition";
19
20
 
20
21
  /**
21
22
  * Imports an asynchronous side-effect into a `IO`
@@ -851,8 +852,8 @@ export function fromMaybe<A>(maybe: Lazy<Maybe<A>>, __tsplusTrace?: string): FIO
851
852
  * @tsplus static fncts.io.IOOps fromMaybeNow
852
853
  * @tsplus getter fncts.Maybe toIO
853
854
  */
854
- export function fromMaybeNow<A = never>(maybe: Maybe<A>, __tsplusTrace?: string): IO<unknown, Maybe<never>, A> {
855
- return maybe.match(() => IO.failNow(Nothing()), IO.succeedNow);
855
+ export function fromMaybeNow<A = never>(maybe: Maybe<A>, __tsplusTrace?: string): IO<never, NoSuchElementError, A> {
856
+ return maybe.match(() => IO.failNow(new NoSuchElementError("IO.fromMaybeNow")), IO.succeedNow);
856
857
  }
857
858
 
858
859
  /**
@@ -1,6 +1,8 @@
1
1
  import type { FiberRuntime } from "../Fiber/FiberRuntime.js";
2
2
  import type { Running } from "../FiberStatus.js";
3
3
  import type { RuntimeFlagsPatch } from "../RuntimeFlags.js";
4
+ import type { Left, Right } from "@fncts/base/data/Either";
5
+ import type { Failure, Success } from "@fncts/base/data/Exit";
4
6
  import type { Trace } from "@fncts/base/data/Trace";
5
7
 
6
8
  import { RuntimeFlag } from "../RuntimeFlag.js";
@@ -34,6 +36,17 @@ export abstract class IO<R, E, A> {
34
36
  };
35
37
  }
36
38
 
39
+ declare module "@fncts/base/data/Either/definition" {
40
+ interface Either<E, A> extends IO<never, E, A> {}
41
+ }
42
+ declare module "@fncts/base/data/Maybe/definition" {
43
+ interface Maybe<A> extends IO<never, NoSuchElementError, A> {}
44
+ }
45
+ declare module "@fncts/base/data/Exit/definition" {
46
+ interface Success<A> extends IO<never, never, A> {}
47
+ interface Failure<E> extends IO<never, E, never> {}
48
+ }
49
+
37
50
  /**
38
51
  * @tsplus type fncts.io.IOAspects
39
52
  */
@@ -87,14 +100,14 @@ export function isIO(u: unknown): u is IO<any, any, any> {
87
100
  }
88
101
 
89
102
  export class Sync<A> extends IO<never, never, A> {
90
- readonly ioOpCode = IOOpCode.Sync;
103
+ readonly _tag = IOOpCode.Sync;
91
104
  constructor(readonly evaluate: () => A, readonly trace?: string) {
92
105
  super();
93
106
  }
94
107
  }
95
108
 
96
109
  export class Async<R, E, A> extends IO<R, E, A> {
97
- readonly ioOpCode = IOOpCode.Async;
110
+ readonly _tag = IOOpCode.Async;
98
111
  constructor(
99
112
  readonly registerCallback: (f: (_: IO<R, E, A>) => void) => any,
100
113
  readonly blockingOn: () => FiberId,
@@ -108,7 +121,7 @@ export class Async<R, E, A> extends IO<R, E, A> {
108
121
  * @internal
109
122
  */
110
123
  export class OnSuccessAndFailure<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R1 | R2, E1 | E2, B | C> {
111
- readonly ioOpCode = IOOpCode.OnSuccessAndFailure;
124
+ readonly _tag = IOOpCode.OnSuccessAndFailure;
112
125
 
113
126
  constructor(
114
127
  readonly first: IO<R, E, A>,
@@ -128,7 +141,7 @@ export class OnSuccessAndFailure<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R
128
141
  }
129
142
 
130
143
  export class OnFailure<R, E, A, R1, E1, B> extends IO<R | R1, E1, A | B> {
131
- readonly ioOpCode = IOOpCode.OnFailure;
144
+ readonly _tag = IOOpCode.OnFailure;
132
145
  constructor(
133
146
  readonly first: IO<R, E, A>,
134
147
  readonly failureK: (cause: Cause<E>) => IO<R1, E1, B>,
@@ -149,7 +162,7 @@ export class OnFailure<R, E, A, R1, E1, B> extends IO<R | R1, E1, A | B> {
149
162
  * @internal
150
163
  */
151
164
  export class OnSuccess<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
152
- readonly ioOpCode = IOOpCode.OnSuccess;
165
+ readonly _tag = IOOpCode.OnSuccess;
153
166
  constructor(readonly first: IO<R, E, A>, readonly successK: (a: A) => IO<R1, E1, A1>, readonly trace?: string) {
154
167
  super();
155
168
  }
@@ -165,21 +178,21 @@ export class OnSuccess<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
165
178
  * @internal
166
179
  */
167
180
  export class SucceedNow<A> extends IO<never, never, A> {
168
- readonly ioOpCode = IOOpCode.SucceedNow;
181
+ readonly _tag = IOOpCode.SucceedNow;
169
182
  constructor(readonly value: A, readonly trace?: string) {
170
183
  super();
171
184
  }
172
185
  }
173
186
 
174
187
  export class UpdateRuntimeFlags extends IO<never, never, void> {
175
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlags;
188
+ readonly _tag = IOOpCode.UpdateRuntimeFlags;
176
189
  constructor(readonly update: RuntimeFlags.Patch, readonly trace?: string) {
177
190
  super();
178
191
  }
179
192
  }
180
193
 
181
194
  export class Interruptible<R, E, A> extends IO<R, E, A> {
182
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
195
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
183
196
  constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
184
197
  super();
185
198
  }
@@ -191,7 +204,7 @@ export class Interruptible<R, E, A> extends IO<R, E, A> {
191
204
  }
192
205
 
193
206
  export class Uninterruptible<R, E, A> extends IO<R, E, A> {
194
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
207
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
195
208
  constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
196
209
  super();
197
210
  }
@@ -203,7 +216,7 @@ export class Uninterruptible<R, E, A> extends IO<R, E, A> {
203
216
  }
204
217
 
205
218
  export class Dynamic<R, E, A> extends IO<R, E, A> {
206
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
219
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
207
220
  constructor(
208
221
  readonly update: RuntimeFlagsPatch,
209
222
  readonly f: (oldRuntimeFlags: RuntimeFlags) => IO<R, E, A>,
@@ -218,21 +231,21 @@ export class Dynamic<R, E, A> extends IO<R, E, A> {
218
231
  }
219
232
 
220
233
  export class GenerateStackTrace extends IO<never, never, Trace> {
221
- readonly ioOpCode = IOOpCode.GenerateStackTrace;
234
+ readonly _tag = IOOpCode.GenerateStackTrace;
222
235
  constructor(readonly trace?: string) {
223
236
  super();
224
237
  }
225
238
  }
226
239
 
227
240
  export class Stateful<R, E, A> extends IO<R, E, A> {
228
- readonly ioOpCode = IOOpCode.Stateful;
241
+ readonly _tag = IOOpCode.Stateful;
229
242
  constructor(readonly onState: (fiber: FiberRuntime<E, A>, status: Running) => IO<R, E, A>, readonly trace?: string) {
230
243
  super();
231
244
  }
232
245
  }
233
246
 
234
247
  export class WhileLoop<R, E, A> extends IO<R, E, void> {
235
- readonly ioOpCode = IOOpCode.WhileLoop;
248
+ readonly _tag = IOOpCode.WhileLoop;
236
249
  constructor(
237
250
  readonly check: () => boolean,
238
251
  readonly body: () => IO<R, E, A>,
@@ -244,7 +257,7 @@ export class WhileLoop<R, E, A> extends IO<R, E, void> {
244
257
  }
245
258
 
246
259
  export class YieldNow extends IO<never, never, void> {
247
- readonly ioOpCode = IOOpCode.YieldNow;
260
+ readonly _tag = IOOpCode.YieldNow;
248
261
  constructor(readonly trace?: string) {
249
262
  super();
250
263
  }
@@ -254,7 +267,7 @@ export class YieldNow extends IO<never, never, void> {
254
267
  * @internal
255
268
  */
256
269
  export class Fail<E> extends IO<never, E, never> {
257
- readonly ioOpCode = IOOpCode.Fail;
270
+ readonly _tag = IOOpCode.Fail;
258
271
 
259
272
  constructor(readonly cause: Lazy<Cause<E>>, readonly trace?: string) {
260
273
  super();
@@ -275,7 +288,13 @@ export type Concrete =
275
288
  | WhileLoop<any, any, any>
276
289
  | YieldNow
277
290
  | Fail<any>
278
- | STM<any, any, any>;
291
+ | STM<any, any, any>
292
+ | Left<any>
293
+ | Right<any>
294
+ | Nothing
295
+ | Just<any>
296
+ | Failure<any>
297
+ | Success<any>;
279
298
 
280
299
  /**
281
300
  * @tsplus static fncts.io.IOOps concrete
@@ -296,15 +315,3 @@ export type UpdateRuntimeFlagsWithin =
296
315
  | Dynamic<any, any, any>;
297
316
 
298
317
  export type Canceler<R> = URIO<R, void>;
299
-
300
- export const IOErrorTypeId = Symbol.for("fncts.io.IO.IOError");
301
- export type IOErrorTypeId = typeof IOErrorTypeId;
302
-
303
- export class IOError<E> {
304
- readonly [IOErrorTypeId]: IOErrorTypeId = IOErrorTypeId;
305
- constructor(readonly cause: Cause<E>) {}
306
- }
307
-
308
- export function isIOError(u: unknown): u is IOError<unknown> {
309
- return isObject(u) && IOErrorTypeId in u;
310
- }
@@ -1,4 +1,5 @@
1
- import { FiberMessage, FiberRuntime } from "@fncts/io/Fiber";
1
+ import { IOError } from "@fncts/base/data/exceptions";
2
+ import { FiberRuntime } from "@fncts/io/Fiber";
2
3
  import { FiberRefs } from "@fncts/io/FiberRefs";
3
4
  import { RuntimeFlag } from "@fncts/io/RuntimeFlag";
4
5
  import { RuntimeFlags } from "@fncts/io/RuntimeFlags";
@@ -12,7 +13,7 @@ export class Runtime<R> {
12
13
  readonly fiberRefs: FiberRefs,
13
14
  ) {}
14
15
 
15
- unsafeRunFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
16
+ makeFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
16
17
  const fiberId = FiberId.unsafeMake(__tsplusTrace);
17
18
  const fiberRefs = this.fiberRefs.updateAs(fiberId, FiberRef.currentEnvironment, this.environment);
18
19
 
@@ -31,35 +32,39 @@ export class Runtime<R> {
31
32
 
32
33
  FiberScope.global.unsafeAdd(null!, fiber.runtimeFlags0, fiber);
33
34
 
34
- fiber.start(io);
35
-
36
35
  return fiber;
37
36
  };
38
37
 
39
- unsafeRunWith = <E, A>(
40
- io: IO<R, E, A>,
41
- k: (exit: Exit<E, A>) => any,
42
- __tsplusTrace?: string,
43
- ): ((fiberId: FiberId) => (f: (exit: Exit<E, A>) => any) => void) => {
44
- const fiber = this.unsafeRunFiber(io);
45
- fiber.tell(FiberMessage.Stateful((fiber) => fiber.addObserver(k)));
46
- return (fiberId) => (k) => this.unsafeRunAsyncWith(fiber.interruptAs(fiberId), (exit) => k(exit.flatten));
47
- };
48
-
49
- unsafeRunAsync = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string) => {
50
- this.unsafeRunAsyncWith(io, () => void 0);
38
+ unsafeRunFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
39
+ const fiber = this.makeFiber(io);
40
+ fiber.start(io);
41
+ return fiber;
51
42
  };
52
43
 
53
- unsafeRunAsyncWith = <E, A>(io: IO<R, E, A>, k: (exit: Exit<E, A>) => any, __tsplusTrace?: string) => {
54
- this.unsafeRunWith(io, k);
44
+ unsafeRunPromiseExit = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<Exit<E, A>> => {
45
+ return new Promise((resolve) => {
46
+ const fiber = this.makeFiber(io);
47
+ fiber.addObserver((exit) => {
48
+ resolve(exit);
49
+ });
50
+ fiber.start(io);
51
+ });
55
52
  };
56
53
 
57
- unsafeRunPromiseExit = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<Exit<E, A>> =>
58
- new Promise((resolve) => {
59
- this.unsafeRunAsyncWith(io, resolve);
54
+ unsafeRunPromise = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<A> => {
55
+ return new Promise((resolve, reject) => {
56
+ const fiber = this.makeFiber(io);
57
+ fiber.addObserver((exit) => {
58
+ if (exit.isFailure()) {
59
+ reject(new IOError(exit.cause));
60
+ } else {
61
+ resolve(exit.value);
62
+ }
63
+ });
60
64
  });
65
+ };
61
66
 
62
- unsafeRunSyncExit = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Exit<E, A> => {
67
+ unsafeRunOrFork = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Either<Fiber.Runtime<E, A>, Exit<E, A>> => {
63
68
  const fiberId = FiberId.unsafeMake(__tsplusTrace);
64
69
  const scheduler = new StagedScheduler();
65
70
  const fiberRefs = this.fiberRefs.updateAs(fiberId, FiberRef.currentEnvironment, this.environment);
@@ -83,10 +88,16 @@ export class Runtime<R> {
83
88
 
84
89
  const result = fiber.exitValue();
85
90
  if (result !== null) {
86
- return result;
91
+ return Either.right(result);
87
92
  }
88
93
 
89
- return Exit.halt(fiber);
94
+ return Either.left(fiber);
95
+ };
96
+
97
+ unsafeRun = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Exit<E, A> => {
98
+ return this.unsafeRunOrFork(io).match(() => {
99
+ throw new Error("Encountered async boundary");
100
+ }, Function.identity);
90
101
  };
91
102
  }
92
103
 
@@ -112,27 +123,17 @@ export const defaultRuntime = new Runtime(Environment.empty, RuntimeFlags.defaul
112
123
  */
113
124
  export const unsafeRunFiber = defaultRuntime.unsafeRunFiber;
114
125
 
115
- /**
116
- * @tsplus fluent fncts.io.IO unsafeRunAsync
117
- */
118
- export const unsafeRunAsync = defaultRuntime.unsafeRunAsync;
119
-
120
- /**
121
- * @tsplus fluent fncts.io.IO unsafeRunAsyncWith
122
- */
123
- export const unsafeRunAsyncWith = defaultRuntime.unsafeRunAsyncWith;
124
-
125
126
  /**
126
127
  * @tsplus fluent fncts.io.IO unsafeRunPromiseExit
127
128
  */
128
129
  export const unsafeRunPromiseExit = defaultRuntime.unsafeRunPromiseExit;
129
130
 
130
131
  /**
131
- * @tsplus fluent fncts.io.IO unsafeRunWith
132
+ * @tsplus getter fncts.io.IO unsafeRunOrFork
132
133
  */
133
- export const unsafeRunWith = defaultRuntime.unsafeRunWith;
134
+ export const unsafeRunOrFork = defaultRuntime.unsafeRunOrFork;
134
135
 
135
136
  /**
136
- * @tsplus getter fncts.io.IO unsafeRunSyncExit
137
+ * @tsplus getter fncts.io.IO unsafeRun
137
138
  */
138
- export const unsafeRunSyncExit = defaultRuntime.unsafeRunSyncExit;
139
+ export const unsafeRun = defaultRuntime.unsafeRun;
@@ -1,6 +1,6 @@
1
1
  import type { PEnqueue, PEnqueueInternal } from "@fncts/io/Queue/definition";
2
2
 
3
- import { concrete, EnqueueTypeId, QueueInternal, QueueTypeId , QueueVariance } from "@fncts/io/Queue/definition";
3
+ import { concrete, EnqueueTypeId, QueueInternal, QueueTypeId, QueueVariance } from "@fncts/io/Queue/definition";
4
4
 
5
5
  class FilterInputIO<RA, RB, EA, EB, B, A, A1 extends A, R2, E2> extends QueueInternal<RA | R2, RB, EA | E2, EB, A1, B> {
6
6
  constructor(readonly queue: QueueInternal<RA, RB, EA, EB, A, B>, readonly f: (_: A1) => IO<R2, E2, boolean>) {
@@ -1,6 +1,6 @@
1
1
  import type { PDequeue, PDequeueInternal } from "@fncts/io/Queue/definition";
2
2
 
3
- import { concrete, DequeueTypeId, QueueInternal, QueueTypeId , QueueVariance } from "@fncts/io/Queue/definition";
3
+ import { concrete, DequeueTypeId, QueueInternal, QueueTypeId, QueueVariance } from "@fncts/io/Queue/definition";
4
4
 
5
5
  class FilterOutputIO<RA, RB, EA, EB, A, B, RB1, EB1> extends QueueInternal<RA, RB | RB1, EA, EB | EB1, A, B> {
6
6
  constructor(readonly queue: QueueInternal<RA, RB, EA, EB, A, B>, readonly f: (b: B) => IO<RB1, EB1, boolean>) {
@@ -53,15 +53,15 @@ export class AtomicRefSubject<E, A> extends RefSubjectInternal<never, E, A, A> {
53
53
  end: IO<never, never, void> = this.stream.end;
54
54
 
55
55
  unsafeEmit(value: A): void {
56
- return this.stream.emit(value).unsafeRunAsync();
56
+ this.stream.emit(value).unsafeRunFiber();
57
57
  }
58
58
 
59
59
  unsafeFailCause(cause: Cause<E>): void {
60
- return this.stream.failCause(cause).unsafeRunAsync();
60
+ this.stream.failCause(cause).unsafeRunFiber();
61
61
  }
62
62
 
63
63
  unsafeEnd(): void {
64
- return this.stream.end.unsafeRunAsync();
64
+ this.stream.end.unsafeRunFiber();
65
65
  }
66
66
 
67
67
  get unsafeGet(): A {
@@ -111,7 +111,7 @@ class AtomicEmitRef<E, A> extends Atomic<A> {
111
111
 
112
112
  unsafeSet(value: A) {
113
113
  this.ref.unsafeSet(value);
114
- this.emitter.emit(value).unsafeRunAsync();
114
+ this.emitter.emit(value).unsafeRunFiber();
115
115
  }
116
116
 
117
117
  set(value: A, __tsplusTrace?: string) {
@@ -25,7 +25,7 @@ export type STMTypeId = typeof STMTypeId;
25
25
  */
26
26
  export abstract class STM<R, E, A> {
27
27
  readonly [IOTypeId]: IOTypeId = IOTypeId;
28
- readonly ioOpCode = IOOpCode.Commit;
28
+ readonly _tag = IOOpCode.Commit;
29
29
  readonly trace?: string;
30
30
  readonly [STMTypeId]: STMTypeId = STMTypeId;
31
31
  declare [IOVariance]: {
@@ -1,4 +1,4 @@
1
- import type { StateInternal} from "./internal.js";
1
+ import type { StateInternal } from "./internal.js";
2
2
 
3
3
  import { StateVariance } from "./internal.js";
4
4
  import { StateTypeId } from "./internal.js";