@fncts/io 0.0.32 → 0.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (275) hide show
  1. package/Fiber/FiberRuntime.d.ts +3 -3
  2. package/IO/api.d.ts +2 -1
  3. package/IO/definition.d.ts +34 -24
  4. package/IO/runtime.d.ts +7 -17
  5. package/STM/definition.d.ts +1 -1
  6. package/Stream/api.d.ts +89 -1
  7. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
  8. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  9. package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
  10. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  11. package/_cjs/Channel/api/mergeWith.cjs +4 -4
  12. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  13. package/_cjs/Channel/api/toPull.cjs +2 -2
  14. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  15. package/_cjs/Channel/api.cjs +6 -6
  16. package/_cjs/Channel/api.cjs.map +1 -1
  17. package/_cjs/Channel/internal/ChannelExecutor.cjs +10 -10
  18. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  19. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
  20. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  21. package/_cjs/Clock/live.cjs +1 -1
  22. package/_cjs/Clock/live.cjs.map +1 -1
  23. package/_cjs/Fiber/FiberRuntime.cjs +78 -47
  24. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  25. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  26. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  27. package/_cjs/Fiber/api/mapIO.cjs +1 -1
  28. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  29. package/_cjs/Fiber/api/zipWith.cjs +1 -1
  30. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  31. package/_cjs/Fiber/constructors.cjs +5 -5
  32. package/_cjs/Fiber/constructors.cjs.map +1 -1
  33. package/_cjs/FiberRef/unsafe.cjs +3 -2
  34. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  35. package/_cjs/Future/api.cjs +4 -4
  36. package/_cjs/Future/api.cjs.map +1 -1
  37. package/_cjs/Hub/internal.cjs +1 -1
  38. package/_cjs/Hub/internal.cjs.map +1 -1
  39. package/_cjs/IO/api/asyncIO.cjs +1 -1
  40. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  41. package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
  42. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  43. package/_cjs/IO/api/concurrency.cjs +3 -3
  44. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  45. package/_cjs/IO/api/daemonChildren.cjs +1 -1
  46. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  47. package/_cjs/IO/api/fork.cjs +2 -1
  48. package/_cjs/IO/api/fork.cjs.map +1 -1
  49. package/_cjs/IO/api/interrupt.cjs +2 -2
  50. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  51. package/_cjs/IO/api/repeat.cjs +2 -2
  52. package/_cjs/IO/api/repeat.cjs.map +1 -1
  53. package/_cjs/IO/api/timeout.cjs +1 -1
  54. package/_cjs/IO/api/timeout.cjs.map +1 -1
  55. package/_cjs/IO/api/transplant.cjs +1 -1
  56. package/_cjs/IO/api/transplant.cjs.map +1 -1
  57. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  58. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  59. package/_cjs/IO/api.cjs +33 -32
  60. package/_cjs/IO/api.cjs.map +1 -1
  61. package/_cjs/IO/definition.cjs +17 -31
  62. package/_cjs/IO/definition.cjs.map +1 -1
  63. package/_cjs/IO/runtime.cjs +45 -38
  64. package/_cjs/IO/runtime.cjs.map +1 -1
  65. package/_cjs/Logger/api.cjs +3 -2
  66. package/_cjs/Logger/api.cjs.map +1 -1
  67. package/_cjs/MVar/api.cjs +11 -11
  68. package/_cjs/MVar/api.cjs.map +1 -1
  69. package/_cjs/Push/api.cjs +3 -3
  70. package/_cjs/Push/api.cjs.map +1 -1
  71. package/_cjs/Push/internal.cjs +1 -1
  72. package/_cjs/Push/internal.cjs.map +1 -1
  73. package/_cjs/Queue/api/filterInputIO.cjs +2 -2
  74. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  75. package/_cjs/Ref/Derived.cjs +4 -4
  76. package/_cjs/Ref/Derived.cjs.map +1 -1
  77. package/_cjs/Ref/DerivedAll.cjs +5 -5
  78. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  79. package/_cjs/Ref/Synchronized/api.cjs +3 -3
  80. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  81. package/_cjs/Ref/api/collect.cjs +1 -1
  82. package/_cjs/Ref/api/collect.cjs.map +1 -1
  83. package/_cjs/Ref/api/dimap.cjs +3 -3
  84. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  85. package/_cjs/Ref/api/filter.cjs +2 -2
  86. package/_cjs/Ref/api/filter.cjs.map +1 -1
  87. package/_cjs/Ref/api.cjs +2 -3
  88. package/_cjs/Ref/api.cjs.map +1 -1
  89. package/_cjs/RefSubject/Atomic.cjs +6 -6
  90. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  91. package/_cjs/STM/api.cjs +5 -5
  92. package/_cjs/STM/api.cjs.map +1 -1
  93. package/_cjs/STM/definition.cjs +1 -1
  94. package/_cjs/STM/definition.cjs.map +1 -1
  95. package/_cjs/STM/internal/CommitState.cjs +5 -4
  96. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  97. package/_cjs/STM/internal/Journal.cjs +8 -8
  98. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  99. package/_cjs/Schedule/api/driver.cjs +3 -3
  100. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  101. package/_cjs/Schedule/api.cjs +8 -8
  102. package/_cjs/Schedule/api.cjs.map +1 -1
  103. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
  104. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  105. package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
  106. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  107. package/_cjs/ScopedRef/api.cjs +1 -1
  108. package/_cjs/ScopedRef/api.cjs.map +1 -1
  109. package/_cjs/Semaphore.cjs +2 -2
  110. package/_cjs/Semaphore.cjs.map +1 -1
  111. package/_cjs/Sink/api.cjs +6 -6
  112. package/_cjs/Sink/api.cjs.map +1 -1
  113. package/_cjs/Stream/api/zipAllWith.cjs +8 -8
  114. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  115. package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
  116. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  117. package/_cjs/Stream/api.cjs +370 -130
  118. package/_cjs/Stream/api.cjs.map +1 -1
  119. package/_cjs/Stream/internal/Handoff.cjs +2 -2
  120. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  121. package/_cjs/Stream/internal/Pull.cjs +2 -2
  122. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  123. package/_cjs/Stream/internal/Take.cjs +6 -6
  124. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  125. package/_cjs/Stream/internal/util.cjs +3 -2
  126. package/_cjs/Stream/internal/util.cjs.map +1 -1
  127. package/_cjs/TFuture/api.cjs +3 -3
  128. package/_cjs/TFuture/api.cjs.map +1 -1
  129. package/_cjs/TFuture/constructors.cjs +1 -1
  130. package/_cjs/TFuture/constructors.cjs.map +1 -1
  131. package/_cjs/TRef/definition.cjs +9 -9
  132. package/_cjs/TRef/definition.cjs.map +1 -1
  133. package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
  134. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  135. package/_cjs/data/Exit/foreachIO.cjs +1 -1
  136. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  137. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  138. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  139. package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
  140. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  141. package/_mjs/Channel/api/mergeWith.mjs +4 -4
  142. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  143. package/_mjs/Channel/api/toPull.mjs +2 -2
  144. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  145. package/_mjs/Channel/api.mjs +6 -6
  146. package/_mjs/Channel/api.mjs.map +1 -1
  147. package/_mjs/Channel/internal/ChannelExecutor.mjs +10 -10
  148. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  149. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
  150. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  151. package/_mjs/Clock/live.mjs +1 -1
  152. package/_mjs/Clock/live.mjs.map +1 -1
  153. package/_mjs/Fiber/FiberRuntime.mjs +78 -47
  154. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  155. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  156. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  157. package/_mjs/Fiber/api/mapIO.mjs +1 -1
  158. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  159. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  160. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  161. package/_mjs/Fiber/constructors.mjs +5 -5
  162. package/_mjs/Fiber/constructors.mjs.map +1 -1
  163. package/_mjs/FiberRef/unsafe.mjs +3 -2
  164. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  165. package/_mjs/Future/api.mjs +4 -4
  166. package/_mjs/Future/api.mjs.map +1 -1
  167. package/_mjs/Hub/internal.mjs +1 -1
  168. package/_mjs/Hub/internal.mjs.map +1 -1
  169. package/_mjs/IO/api/asyncIO.mjs +1 -1
  170. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  171. package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
  172. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  173. package/_mjs/IO/api/concurrency.mjs +3 -3
  174. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  175. package/_mjs/IO/api/daemonChildren.mjs +1 -1
  176. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  177. package/_mjs/IO/api/fork.mjs +2 -1
  178. package/_mjs/IO/api/fork.mjs.map +1 -1
  179. package/_mjs/IO/api/interrupt.mjs +2 -2
  180. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  181. package/_mjs/IO/api/repeat.mjs +2 -2
  182. package/_mjs/IO/api/repeat.mjs.map +1 -1
  183. package/_mjs/IO/api/timeout.mjs +1 -1
  184. package/_mjs/IO/api/timeout.mjs.map +1 -1
  185. package/_mjs/IO/api/transplant.mjs +1 -1
  186. package/_mjs/IO/api/transplant.mjs.map +1 -1
  187. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  188. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  189. package/_mjs/IO/api.mjs +32 -30
  190. package/_mjs/IO/api.mjs.map +1 -1
  191. package/_mjs/IO/definition.mjs +16 -27
  192. package/_mjs/IO/definition.mjs.map +1 -1
  193. package/_mjs/IO/runtime.mjs +42 -33
  194. package/_mjs/IO/runtime.mjs.map +1 -1
  195. package/_mjs/Logger/api.mjs +3 -2
  196. package/_mjs/Logger/api.mjs.map +1 -1
  197. package/_mjs/MVar/api.mjs +11 -11
  198. package/_mjs/MVar/api.mjs.map +1 -1
  199. package/_mjs/Push/api.mjs +3 -3
  200. package/_mjs/Push/api.mjs.map +1 -1
  201. package/_mjs/Push/internal.mjs +1 -1
  202. package/_mjs/Push/internal.mjs.map +1 -1
  203. package/_mjs/Queue/api/filterInputIO.mjs +2 -2
  204. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  205. package/_mjs/Ref/Derived.mjs +4 -4
  206. package/_mjs/Ref/Derived.mjs.map +1 -1
  207. package/_mjs/Ref/DerivedAll.mjs +5 -5
  208. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  209. package/_mjs/Ref/Synchronized/api.mjs +3 -3
  210. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  211. package/_mjs/Ref/api/collect.mjs +1 -1
  212. package/_mjs/Ref/api/collect.mjs.map +1 -1
  213. package/_mjs/Ref/api/dimap.mjs +3 -3
  214. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  215. package/_mjs/Ref/api/filter.mjs +2 -2
  216. package/_mjs/Ref/api/filter.mjs.map +1 -1
  217. package/_mjs/Ref/api.mjs +2 -1
  218. package/_mjs/Ref/api.mjs.map +1 -1
  219. package/_mjs/RefSubject/Atomic.mjs +6 -6
  220. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  221. package/_mjs/STM/api.mjs +5 -5
  222. package/_mjs/STM/api.mjs.map +1 -1
  223. package/_mjs/STM/definition.mjs +1 -1
  224. package/_mjs/STM/definition.mjs.map +1 -1
  225. package/_mjs/STM/internal/CommitState.mjs +5 -4
  226. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  227. package/_mjs/STM/internal/Journal.mjs +8 -8
  228. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  229. package/_mjs/Schedule/api/driver.mjs +3 -3
  230. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  231. package/_mjs/Schedule/api.mjs +8 -8
  232. package/_mjs/Schedule/api.mjs.map +1 -1
  233. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
  234. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  235. package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
  236. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  237. package/_mjs/ScopedRef/api.mjs +1 -1
  238. package/_mjs/ScopedRef/api.mjs.map +1 -1
  239. package/_mjs/Semaphore.mjs +2 -2
  240. package/_mjs/Semaphore.mjs.map +1 -1
  241. package/_mjs/Sink/api.mjs +6 -6
  242. package/_mjs/Sink/api.mjs.map +1 -1
  243. package/_mjs/Stream/api/zipAllWith.mjs +8 -8
  244. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  245. package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
  246. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  247. package/_mjs/Stream/api.mjs +281 -58
  248. package/_mjs/Stream/api.mjs.map +1 -1
  249. package/_mjs/Stream/internal/Handoff.mjs +2 -2
  250. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  251. package/_mjs/Stream/internal/Pull.mjs +2 -2
  252. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  253. package/_mjs/Stream/internal/Take.mjs +6 -6
  254. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  255. package/_mjs/Stream/internal/util.mjs +3 -2
  256. package/_mjs/Stream/internal/util.mjs.map +1 -1
  257. package/_mjs/TFuture/api.mjs +3 -3
  258. package/_mjs/TFuture/api.mjs.map +1 -1
  259. package/_mjs/TFuture/constructors.mjs +1 -1
  260. package/_mjs/TFuture/constructors.mjs.map +1 -1
  261. package/_mjs/TRef/definition.mjs +9 -9
  262. package/_mjs/TRef/definition.mjs.map +1 -1
  263. package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
  264. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  265. package/_mjs/data/Exit/foreachIO.mjs +1 -1
  266. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  267. package/_src/Fiber/FiberRuntime.ts +39 -16
  268. package/_src/IO/api/asyncIO.ts +1 -1
  269. package/_src/IO/api.ts +4 -3
  270. package/_src/IO/definition.ts +35 -28
  271. package/_src/IO/runtime.ts +36 -35
  272. package/_src/RefSubject/Atomic.ts +4 -4
  273. package/_src/STM/definition.ts +1 -1
  274. package/_src/Stream/api.ts +258 -8
  275. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.mjs","mappings":";;;;;aAIgBA,IAAI;AAJpB;;;;AAIA,gBAA2BC,aAAsB;EAC/C,OAAOC,oBAA+CC,CAAC,IAAKC,uBAAO,CAACC,GAAG,CAACF,CAAC,CAAC,EADjDF,eAClBK,2BAA+BC,yBAAS,EADtBN,cACuB,CAA2B;AAC7E;AAEA;;;AAGA,OAAM,SAAUO,UAAU,CAAOP,aAAsB;EACrD,kCAAOQ,OADwBR,cACJ,EADIA;AAEjC","names":["make","__tsplusTrace","tsplus_module_4","_","tsplus_module_1","get","tsplus_module_3","tsplus_module_2","makeCommit","make_1"],"sourceRoot":"","sources":["../../_src/TFuture/constructors.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"constructors.mjs","mappings":";;;;;aAIgBA,IAAI;AAJpB;;;;AAIA,gBAA2BC,aAAsB;EAC/C,OAAOC,oBAA+CC,CAAC,IAAKC,uBAAO,CAACC,GAAG,CAACF,CAAC,CAAC,EADjDF,eAClBK,2BAA+BC,wBADbN,cACsB,EADtBA,cACuB,CAA2B;AAC7E;AAEA;;;AAGA,OAAM,SAAUO,UAAU,CAAOP,aAAsB;EACrD,kCAAOQ,OADwBR,cACJ,EADIA;AAEjC","names":["make","__tsplusTrace","tsplus_module_4","_","tsplus_module_1","get","tsplus_module_3","tsplus_module_2","makeCommit","make_1"],"sourceRoot":"","sources":["../../_src/TFuture/constructors.ts"],"sourcesContent":[null]}
@@ -64,10 +64,10 @@ export class Derived extends TRefInternal {
64
64
  this.use = use;
65
65
  }
66
66
  match(ea, eb, ca, bd) {
67
- return this.use((getEither, setEither, value, atomic) => new Derived(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e)), bd)(getEither(s)), c => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e)), tsplus_module_1.right)(setEither(a)))(ca(c)), value, atomic)));
67
+ return this.use((getEither, setEither, value, atomic) => new Derived(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e), fileName_1 + ":162:57"), bd)(getEither(s)), c => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e), fileName_1 + ":163:78"), tsplus_module_1.right)(setEither(a)))(ca(c)), value, atomic)));
68
68
  }
69
69
  matchAll(ea, eb, ec, ca, bd) {
70
- return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e)), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e)), tsplus_module_1.right)(setEither(a)))(tsplus_module_2.match(e => tsplus_module_1.left(ec(e)), ca(c))(getEither(s))), value, atomic)));
70
+ return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e), fileName_1 + ":181:57"), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e), fileName_1 + ":185:70"), tsplus_module_1.right)(setEither(a)))(tsplus_module_2.match(e => tsplus_module_1.left(ec(e), fileName_1 + ":184:42"), ca(c))(getEither(s))), value, atomic)));
71
71
  }
72
72
  get get() {
73
73
  return this.use((getEither, _setEither, value, _atomic) => tsplus_module_5.flatMap(s => tsplus_module_2.match(tsplus_module_4.failNow, tsplus_module_4.succeedNow)(getEither(s)), fileName_1 + ":195:24")(value.get));
@@ -76,9 +76,9 @@ export class Derived extends TRefInternal {
76
76
  return this.use((_getEither, setEither, value, _atomic) => tsplus_module_2.match(tsplus_module_4.failNow, s => value.set(s, fileName_1 + ":200:112"))(setEither(a)));
77
77
  }
78
78
  modify(f, __tsplusTrace) {
79
- return tsplus_module_6.absolve(this.use((getEither, setEither, value, _atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e), s], a1 => {
79
+ return tsplus_module_6.absolve(this.use((getEither, setEither, value, _atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e, fileName_1 + ":207:30"), s], a1 => {
80
80
  const [b, a2] = f(a1);
81
- return tsplus_module_2.match(e => [tsplus_module_1.left(e), s], s => [tsplus_module_1.right(b), s])(setEither(a2));
81
+ return tsplus_module_2.match(e => [tsplus_module_1.left(e, fileName_1 + ":211:34"), s], s => [tsplus_module_1.right(b, fileName_1 + ":212:35"), s])(setEither(a2));
82
82
  })(getEither(s)), fileName_1 + ":205:19")), fileName_1 + ":217:6");
83
83
  }
84
84
  unsafeGet(journal, __tsplusTrace) {
@@ -94,21 +94,21 @@ export class DerivedAll extends TRefInternal {
94
94
  this.use = use;
95
95
  }
96
96
  match(ea, eb, ca, bd) {
97
- return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e)), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e)), tsplus_module_1.right)(setEither(a)(s)))(ca(c)), value, atomic)));
97
+ return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e), fileName_1 + ":256:57"), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e), fileName_1 + ":257:88"), tsplus_module_1.right)(setEither(a)(s)))(ca(c)), value, atomic)));
98
98
  }
99
99
  matchAll(ea, eb, ec, ca, bd) {
100
- return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e)), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e)), tsplus_module_1.right)(setEither(a)(s)))(tsplus_module_2.match(e => tsplus_module_1.left(ec(e)), ca(c))(getEither(s))), value, atomic)));
100
+ return this.use((getEither, setEither, value, atomic) => new DerivedAll(f => f(s => tsplus_module_2.match(e => tsplus_module_1.left(eb(e), fileName_1 + ":275:57"), bd)(getEither(s)), c => s => tsplus_module_3.flatMap(a => tsplus_module_2.match(e => tsplus_module_1.left(ea(e), fileName_1 + ":279:73"), tsplus_module_1.right)(setEither(a)(s)))(tsplus_module_2.match(e => tsplus_module_1.left(ec(e), fileName_1 + ":278:42"), ca(c))(getEither(s))), value, atomic)));
101
101
  }
102
102
  get get() {
103
103
  return this.use((getEither, _setEither, value, _atomic) => tsplus_module_5.flatMap(s => tsplus_module_2.match(tsplus_module_4.failNow, tsplus_module_4.succeedNow)(getEither(s)), fileName_1 + ":289:24")(value.get));
104
104
  }
105
105
  set(a, __tsplusTrace) {
106
- return tsplus_module_6.absolve(this.use((_getEither, setEither, value, _atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e), s], s => [tsplus_module_1.right(undefined), s])(setEither(a)(s)), fileName_1 + ":295:19")), fileName_1 + ":301:6");
106
+ return tsplus_module_6.absolve(this.use((_getEither, setEither, value, _atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e, fileName_1 + ":297:30"), s], s => [tsplus_module_1.right(undefined, fileName_1 + ":298:31"), s])(setEither(a)(s)), fileName_1 + ":295:19")), fileName_1 + ":301:6");
107
107
  }
108
108
  modify(f, __tsplusTrace) {
109
- return tsplus_module_6.absolve(this.use((getEither, setEither, value, atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e), s], a1 => {
109
+ return tsplus_module_6.absolve(this.use((getEither, setEither, value, atomic) => value.modify(s => tsplus_module_2.match(e => [tsplus_module_1.left(e, fileName_1 + ":308:30"), s], a1 => {
110
110
  const [b, a2] = f(a1);
111
- return tsplus_module_2.match(e => [tsplus_module_1.left(e), s], s => [tsplus_module_1.right(b), s])(setEither(a2)(s));
111
+ return tsplus_module_2.match(e => [tsplus_module_1.left(e, fileName_1 + ":312:34"), s], s => [tsplus_module_1.right(b, fileName_1 + ":313:35"), s])(setEither(a2)(s));
112
112
  })(getEither(s)), fileName_1 + ":306:19")), fileName_1 + ":318:6");
113
113
  }
114
114
  unsafeGet(journal, __tsplusTrace) {
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","mappings":"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","names":["Effect","TRefVariance","Symbol","for","TRefTypeId","TRef","TRefInternal","constructor","Atomic","versioned","todo","match","_ea","_eb","ca","bd","Derived","f","atomic","matchAll","_ec","DerivedAll","get","journal","entry","getOrMakeEntry","use","_","unsafeGet","set","a","__tsplusTrace","unsafeSet","modify","oldValue","retValue","newValue","ea","eb","getEither","setEither","value","s","tsplus_module_2","e","tsplus_module_1","c","tsplus_module_3","ec","_setEither","_atomic","tsplus_module_5","_getEither","a1","b","a2","_value","undefined","concrete","self","has","tsplus_module_7"],"sourceRoot":"","sources":["../../_src/TRef/definition.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"definition.mjs","mappings":"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","names":["Effect","TRefVariance","Symbol","for","TRefTypeId","TRef","TRefInternal","constructor","Atomic","versioned","todo","match","_ea","_eb","ca","bd","Derived","f","atomic","matchAll","_ec","DerivedAll","get","journal","entry","getOrMakeEntry","use","_","unsafeGet","set","a","__tsplusTrace","unsafeSet","modify","oldValue","retValue","newValue","ea","eb","getEither","setEither","value","s","tsplus_module_2","e","tsplus_module_1","c","tsplus_module_3","ec","_setEither","_atomic","tsplus_module_5","_getEither","a1","b","a2","_value","undefined","concrete","self","has","tsplus_module_7"],"sourceRoot":"","sources":["../../_src/TRef/definition.ts"],"sourcesContent":[null]}
@@ -4,7 +4,7 @@ import { concrete } from "@fncts/base/collection/immutable/Conc";
4
4
  function findIOLoop(iterator, f, array, i, length, __tsplusTrace) {
5
5
  if (i < length) {
6
6
  const a = array[i];
7
- return tsplus_module_2.flatMap(b => b ? tsplus_module_2.succeedNow(tsplus_module_1.just(a), __tsplusTrace) : findIOLoop(iterator, f, array, i + 1, length, __tsplusTrace), __tsplusTrace)(f(a));
7
+ return tsplus_module_2.flatMap(b => b ? tsplus_module_2.succeedNow(tsplus_module_1.just(a, __tsplusTrace), __tsplusTrace) : findIOLoop(iterator, f, array, i + 1, length, __tsplusTrace), __tsplusTrace)(f(a));
8
8
  }
9
9
  let result;
10
10
  if (!(result = iterator.next()).done) {
@@ -12,7 +12,7 @@ function findIOLoop(iterator, f, array, i, length, __tsplusTrace) {
12
12
  const len = arr.length;
13
13
  return findIOLoop(iterator, f, arr, 0, len, __tsplusTrace);
14
14
  }
15
- return tsplus_module_2.succeedNow(tsplus_module_1.nothing(), __tsplusTrace);
15
+ return tsplus_module_2.succeedNow(tsplus_module_1.nothing(__tsplusTrace), __tsplusTrace);
16
16
  }
17
17
  /**
18
18
  * @tsplus pipeable fncts.Conc findIO
@@ -27,7 +27,7 @@ export function findIO(f, __tsplusTrace) {
27
27
  const length = array.length;
28
28
  return findIOLoop(iterator, f, array, 0, length, __tsplusTrace);
29
29
  } else {
30
- return tsplus_module_2.succeedNow(tsplus_module_1.nothing(), __tsplusTrace);
30
+ return tsplus_module_2.succeedNow(tsplus_module_1.nothing(__tsplusTrace), __tsplusTrace);
31
31
  }
32
32
  };
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findIO.mjs","mappings":";;AAAA,SAASA,QAAQ,QAAQ,uCAAuC;AAEhE,SAASC,UAAU,CACjBC,QAAgC,EAChCC,CAA8B,EAC9BC,KAAmB,EACnBC,CAAS,EACTC,MAAc,EACdC,aAAsB;EAEtB,IAAIF,CAAC,GAAGC,MAAM,EAAE;IACd,MAAME,CAAC,GAAGJ,KAAK,CAACC,CAAC,CAAE;IACnB,OAAOI,wBAAcC,CAAC,IAAMA,CAAC,GAAGD,2BAAcE,qBAAKH,CAAC,CAAC,EAJvDD,cAIwD,GAAGN,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEC,KAAK,EAAEC,CAAC,GAAG,CAAC,EAAEC,MAAM,EAJvGC,cAIyG,EAJzGA,eAISJ,CAAC,CAACK,CAAC,CAAC,CAA6F;;EAE1G,IAAII,MAAM;EACV,IAAI,CAAC,CAACA,MAAM,GAAGV,QAAQ,CAACW,IAAI,EAAE,EAAEC,IAAI,EAAE;IACpC,MAAMC,GAAG,GAAGH,MAAM,CAACI,KAAK;IACxB,MAAMC,GAAG,GAAGF,GAAG,CAACT,MAAM;IACtB,OAAOL,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEY,GAAG,EAAE,CAAC,EAAEE,GAAG,EAV5CV,cAU6C;;EAE7C,OAAOE,2BAAcE,yBAAS,EAZ9BJ,cAY+B;AACjC;AAEA;;;AAGA,OAAM,SAAUW,MAAM,CAAUf,CAA8B,EAAEI,aAAsB;EACpF,OAAQY,EAAW,IAAwB;IACzC;IACA,MAAMjB,QAAQ,GAAGiB,EAAE,CAACC,aAAa,EAAE;IACnC,IAAIR,MAAM;IACV,IAAI,CAAC,CAACA,MAAM,GAAGV,QAAQ,CAACW,IAAI,EAAE,EAAEC,IAAI,EAAE;MACpC,MAAMV,KAAK,GAAIQ,MAAM,CAACI,KAAK;MAC3B,MAAMV,MAAM,GAAGF,KAAK,CAACE,MAAM;MAC3B,OAAOL,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEC,KAAK,EAAE,CAAC,EAAEE,MAAM,EARWC,cAQV;KACjD,MAAM;MACL,OAAOE,2BAAcE,yBAAS,EAV4BJ,cAU3B;;EAEnC,CAAC;AACH","names":["concrete","findIOLoop","iterator","f","array","i","length","__tsplusTrace","a","tsplus_module_2","b","tsplus_module_1","result","next","done","arr","value","len","findIO","as","arrayIterator"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Conc/findIO.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"findIO.mjs","mappings":";;AAAA,SAASA,QAAQ,QAAQ,uCAAuC;AAEhE,SAASC,UAAU,CACjBC,QAAgC,EAChCC,CAA8B,EAC9BC,KAAmB,EACnBC,CAAS,EACTC,MAAc,EACdC,aAAsB;EAEtB,IAAIF,CAAC,GAAGC,MAAM,EAAE;IACd,MAAME,CAAC,GAAGJ,KAAK,CAACC,CAAC,CAAE;IACnB,OAAOI,wBAAcC,CAAC,IAAMA,CAAC,GAAGD,2BAAcE,qBAAKH,CAAC,EAJtDD,cAIuD,EAJvDA,cAIwD,GAAGN,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEC,KAAK,EAAEC,CAAC,GAAG,CAAC,EAAEC,MAAM,EAJvGC,cAIyG,EAJzGA,eAISJ,CAAC,CAACK,CAAC,CAAC,CAA6F;;EAE1G,IAAII,MAAM;EACV,IAAI,CAAC,CAACA,MAAM,GAAGV,QAAQ,CAACW,IAAI,EAAE,EAAEC,IAAI,EAAE;IACpC,MAAMC,GAAG,GAAGH,MAAM,CAACI,KAAK;IACxB,MAAMC,GAAG,GAAGF,GAAG,CAACT,MAAM;IACtB,OAAOL,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEY,GAAG,EAAE,CAAC,EAAEE,GAAG,EAV5CV,cAU6C;;EAE7C,OAAOE,2BAAcE,wBAZrBJ,cAY8B,EAZ9BA,cAY+B;AACjC;AAEA;;;AAGA,OAAM,SAAUW,MAAM,CAAUf,CAA8B,EAAEI,aAAsB;EACpF,OAAQY,EAAW,IAAwB;IACzC;IACA,MAAMjB,QAAQ,GAAGiB,EAAE,CAACC,aAAa,EAAE;IACnC,IAAIR,MAAM;IACV,IAAI,CAAC,CAACA,MAAM,GAAGV,QAAQ,CAACW,IAAI,EAAE,EAAEC,IAAI,EAAE;MACpC,MAAMV,KAAK,GAAIQ,MAAM,CAACI,KAAK;MAC3B,MAAMV,MAAM,GAAGF,KAAK,CAACE,MAAM;MAC3B,OAAOL,UAAU,CAACC,QAAQ,EAAEC,CAAC,EAAEC,KAAK,EAAE,CAAC,EAAEE,MAAM,EARWC,cAQV;KACjD,MAAM;MACL,OAAOE,2BAAcE,wBAVqCJ,cAU5B,EAV4BA,cAU3B;;EAEnC,CAAC;AACH","names":["concrete","findIOLoop","iterator","f","array","i","length","__tsplusTrace","a","tsplus_module_2","b","tsplus_module_1","result","next","done","arr","value","len","findIO","as","arrayIterator"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Conc/findIO.ts"],"sourcesContent":[null]}
@@ -9,7 +9,7 @@ import * as tsplus_module_3 from "@fncts/base/data/Exit/api";
9
9
  */
10
10
  export function foreachIO(f, __tsplusTrace) {
11
11
  return exit => {
12
- return tsplus_module_3.match(c => tsplus_module_2.succeedNow(tsplus_module_1.failCause(c), __tsplusTrace), a => tsplus_module_2.result(f(a), __tsplusTrace))(exit);
12
+ return tsplus_module_3.match(c => tsplus_module_2.succeedNow(tsplus_module_1.failCause(c, __tsplusTrace), __tsplusTrace), a => tsplus_module_2.result(f(a), __tsplusTrace))(exit);
13
13
  };
14
14
  }
15
15
  //# sourceMappingURL=foreachIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"foreachIO.mjs","mappings":";;;AAAA;;;;;;AAMA,OAAM,SAAUA,SAAS,CAAcC,CAAyB,EAAEC,aAAsB;EACtF,OAAYC,IAAkB,IAAmC;IAC/D,OAAOC,sBACJC,CAAC,IAA+BC,2BAAcC,0BAAeF,CAAC,CAAC,EAHJH,cAGK,EAChEM,CAAC,IAAIF,uBAACL,CAAC,CAACO,CAAC,CAAC,EAJiDN,cAI1C,EAFbC,IAAI,CAGV;EACH,CAAC;AACH","names":["foreachIO","f","__tsplusTrace","exit","tsplus_module_3","c","tsplus_module_2","tsplus_module_1","a"],"sourceRoot":"","sources":["../../../_src/data/Exit/foreachIO.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"foreachIO.mjs","mappings":";;;AAAA;;;;;;AAMA,OAAM,SAAUA,SAAS,CAAcC,CAAyB,EAAEC,aAAsB;EACtF,OAAYC,IAAkB,IAAmC;IAC/D,OAAOC,sBACJC,CAAC,IAA+BC,2BAAcC,0BAAeF,CAAC,EAHHH,cAGI,EAHJA,cAGK,EAChEM,CAAC,IAAIF,uBAACL,CAAC,CAACO,CAAC,CAAC,EAJiDN,cAI1C,EAFbC,IAAI,CAGV;EACH,CAAC;AACH","names":["foreachIO","f","__tsplusTrace","exit","tsplus_module_3","c","tsplus_module_2","tsplus_module_1","a"],"sourceRoot":"","sources":["../../../_src/data/Exit/foreachIO.ts"],"sourcesContent":[null]}
@@ -2,6 +2,8 @@ import type { FiberStatus } from "../FiberStatus.js";
2
2
  import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
3
3
  import type { RuntimeFlags } from "../RuntimeFlags.js";
4
4
 
5
+ import { isIOError } from "@fncts/base/data/exceptions";
6
+ import { ExitTag } from "@fncts/base/data/Exit";
5
7
  import { Trace } from "@fncts/base/data/Trace";
6
8
  import { FiberTypeId, FiberVariance } from "@fncts/io/Fiber/definition";
7
9
  import { StackTraceBuilder } from "@fncts/io/internal/StackTraceBuilder";
@@ -13,17 +15,16 @@ import { LinkedQueue } from "../internal/MutableQueue.js";
13
15
  import { isIO } from "../IO/definition.js";
14
16
  import { WhileLoop } from "../IO/definition.js";
15
17
  import { IOOpCode } from "../IO/definition.js";
16
- import { isIOError } from "../IO/definition.js";
17
18
  import { RuntimeFlag } from "../RuntimeFlag.js";
18
19
  import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
19
20
 
20
21
  export class RevertFlags {
21
- readonly ioOpCode = IOOpCode.RevertFlags;
22
+ readonly _tag = IOOpCode.RevertFlags;
22
23
  constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
23
24
  }
24
25
 
25
26
  export class UpdateTrace {
26
- readonly ioOpCode = IOOpCode.UpdateTrace;
27
+ readonly _tag = IOOpCode.UpdateTrace;
27
28
  constructor(readonly trace?: string) {}
28
29
  }
29
30
 
@@ -267,7 +268,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
267
268
  }
268
269
  } catch (e) {
269
270
  if (isIO(e)) {
270
- if (IO.concrete(e).ioOpCode === IOOpCode.YieldNow) {
271
+ if (IO.concrete(e)._tag === IOOpCode.YieldNow) {
271
272
  if (this._runtimeFlags.cooperativeYielding) {
272
273
  this.tell(FiberMessage.YieldNow);
273
274
  this.tell(FiberMessage.Resume(IO.unit));
@@ -275,10 +276,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
275
276
  } else {
276
277
  effect = IO.unit;
277
278
  }
278
- } else if (IO.concrete(e).ioOpCode === IOOpCode.Async) {
279
+ } else if (IO.concrete(e)._tag === IOOpCode.Async) {
279
280
  effect = null!;
280
281
  } else {
281
- throw new Error(`Unhandled op ${IO.concrete(e).ioOpCode}`);
282
+ throw new Error(`Unhandled op ${IO.concrete(e)._tag}`);
282
283
  }
283
284
  } else {
284
285
  throw e;
@@ -315,12 +316,12 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
315
316
  cur = IO.concrete(IO.yieldNow.flatMap(() => oldCur, trace));
316
317
  }
317
318
  try {
318
- switch (cur.ioOpCode) {
319
+ switch (cur._tag) {
319
320
  case IOOpCode.Sync: {
320
321
  const value = cur.evaluate();
321
322
  const cont = this.getNextSuccessCont();
322
323
  if (cont) {
323
- switch (cont.ioOpCode) {
324
+ switch (cont._tag) {
324
325
  case IOOpCode.OnSuccess:
325
326
  case IOOpCode.OnSuccessAndFailure: {
326
327
  cur = IO.concrete(cont.successK(value));
@@ -400,7 +401,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
400
401
  const oldCur = cur;
401
402
  const cont = this.getNextSuccessCont();
402
403
  if (cont) {
403
- switch (cont.ioOpCode) {
404
+ switch (cont._tag) {
404
405
  case IOOpCode.OnSuccess:
405
406
  case IOOpCode.OnSuccessAndFailure: {
406
407
  cur = IO.concrete(cont.successK(oldCur.value));
@@ -438,7 +439,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
438
439
  const cause = cur.cause();
439
440
  const cont = this.getNextFailCont();
440
441
  if (cont) {
441
- switch (cont.ioOpCode) {
442
+ switch (cont._tag) {
442
443
  case IOOpCode.OnFailure:
443
444
  case IOOpCode.OnSuccessAndFailure: {
444
445
  if (!(this._runtimeFlags.interruptible && this.isInterrupted())) {
@@ -493,15 +494,37 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
493
494
  }
494
495
  case IOOpCode.Commit: {
495
496
  cur = IO.concrete(cur.commit);
497
+ break;
498
+ }
499
+ case "Just": {
500
+ cur = IO.concrete(IO.succeedNow(cur.value));
501
+ break;
502
+ }
503
+ case "Nothing": {
504
+ cur = IO.concrete(IO.failNow(new NoSuchElementError()));
505
+ break;
506
+ }
507
+ case "Left": {
508
+ cur = IO.concrete(IO.failNow(cur.left));
509
+ break;
510
+ }
511
+ case "Right": {
512
+ cur = IO.concrete(IO.succeedNow(cur.right));
513
+ break;
514
+ }
515
+ case ExitTag.Failure: {
516
+ cur = IO.concrete(IO.failCauseNow(cur.cause));
517
+ break;
518
+ }
519
+ case ExitTag.Success: {
520
+ cur = IO.concrete(IO.succeedNow(cur.value));
521
+ break;
496
522
  }
497
523
  }
498
524
  } catch (e) {
499
525
  if (isIOError(e)) {
500
526
  cur = IO.concrete(IO.failCauseNow(e.cause));
501
- } else if (
502
- isIO(e) &&
503
- (IO.concrete(e).ioOpCode === IOOpCode.Async || IO.concrete(e).ioOpCode === IOOpCode.YieldNow)
504
- ) {
527
+ } else if (isIO(e) && (IO.concrete(e)._tag === IOOpCode.Async || IO.concrete(e)._tag === IOOpCode.YieldNow)) {
505
528
  throw e;
506
529
  } else if (isInterruptedException(e)) {
507
530
  cur = IO.concrete(IO.failCauseNow(Cause.both(Cause.halt(e), Cause.interrupt(FiberId.none))));
@@ -799,7 +822,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
799
822
  getNextSuccessCont() {
800
823
  while (this.stack.hasNext) {
801
824
  const frame = this.stack.pop()!;
802
- if (frame.ioOpCode !== IOOpCode.OnFailure) {
825
+ if (frame._tag !== IOOpCode.OnFailure) {
803
826
  return frame;
804
827
  }
805
828
  }
@@ -808,7 +831,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
808
831
  getNextFailCont() {
809
832
  while (this.stack.hasNext) {
810
833
  const frame = this.stack.pop()!;
811
- if (frame.ioOpCode !== IOOpCode.OnSuccess && frame.ioOpCode !== IOOpCode.WhileLoop) {
834
+ if (frame._tag !== IOOpCode.OnSuccess && frame._tag !== IOOpCode.WhileLoop) {
812
835
  return frame;
813
836
  }
814
837
  }
@@ -10,7 +10,7 @@ export function asyncIO<R, E, A>(
10
10
  const r = Δ(IO.runtime<R>());
11
11
  const a = Δ(
12
12
  IO.uninterruptibleMask((restore) => {
13
- const io = register((k) => r.unsafeRunAsync(k.fulfill(f)));
13
+ const io = register((k) => r.unsafeRunFiber(k.fulfill(f)));
14
14
  return restore(io.catchAllCause((cause) => f.failCause(cause))).fork > restore(f.await);
15
15
  }),
16
16
  );
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,33 +32,37 @@ 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
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);
@@ -88,6 +93,12 @@ export class Runtime<R> {
88
93
 
89
94
  return Either.left(fiber);
90
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);
101
+ };
91
102
  }
92
103
 
93
104
  /**
@@ -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 unsafeRunOrFork = defaultRuntime.unsafeRunOrFork;
139
+ export const unsafeRun = defaultRuntime.unsafeRun;