@fncts/io 0.0.34 → 0.0.36

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 (230) hide show
  1. package/Fiber/FiberRuntime.d.ts +7 -7
  2. package/Fiber/constructors.d.ts +5 -0
  3. package/IO/api/all.d.ts +41 -0
  4. package/IO/api/concurrency.d.ts +11 -0
  5. package/IO/api/interrupt.d.ts +1 -1
  6. package/IO/api/raceWith.d.ts +2 -1
  7. package/IO/api.d.ts +7 -2
  8. package/IO/definition.d.ts +103 -127
  9. package/IO.d.ts +1 -0
  10. package/Push/api.d.ts +86 -36
  11. package/Push/definition.d.ts +28 -13
  12. package/Push/internal.d.ts +7 -11
  13. package/RefSubject/Atomic.d.ts +8 -11
  14. package/RefSubject/Synchronized/definition.d.ts +4 -6
  15. package/RefSubject/api.d.ts +0 -1
  16. package/RefSubject/definition.d.ts +6 -8
  17. package/STM/definition.d.ts +19 -2
  18. package/Sink/api.d.ts +24 -24
  19. package/Subject/Atomic.d.ts +4 -6
  20. package/Subject/definition.d.ts +2 -2
  21. package/_cjs/Channel/api/runScoped.cjs +1 -1
  22. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  23. package/_cjs/Channel/api.cjs +2 -2
  24. package/_cjs/Channel/api.cjs.map +1 -1
  25. package/_cjs/Fiber/FiberRuntime.cjs +110 -98
  26. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  27. package/_cjs/Fiber/constructors.cjs +10 -2
  28. package/_cjs/Fiber/constructors.cjs.map +1 -1
  29. package/_cjs/Future/api.cjs +1 -1
  30. package/_cjs/Future/api.cjs.map +1 -1
  31. package/_cjs/IO/api/all.cjs +33 -0
  32. package/_cjs/IO/api/all.cjs.map +1 -0
  33. package/_cjs/IO/api/asyncIO.cjs +1 -1
  34. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  35. package/_cjs/IO/api/bracketExit.cjs +1 -1
  36. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  37. package/_cjs/IO/api/concurrency.cjs +25 -4
  38. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  39. package/_cjs/IO/api/disconnect.cjs +1 -1
  40. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  41. package/_cjs/IO/api/foreachConcurrent.cjs +1 -1
  42. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  43. package/_cjs/IO/api/foreachExec.cjs +1 -1
  44. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  45. package/_cjs/IO/api/forkIn.cjs +1 -1
  46. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  47. package/_cjs/IO/api/forkScoped.cjs +1 -1
  48. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  49. package/_cjs/IO/api/fulfill.cjs +1 -1
  50. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  51. package/_cjs/IO/api/interrupt.cjs +18 -6
  52. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  53. package/_cjs/IO/api/raceWith.cjs +4 -4
  54. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  55. package/_cjs/IO/api/timeout.cjs +8 -5
  56. package/_cjs/IO/api/timeout.cjs.map +1 -1
  57. package/_cjs/IO/api/zipConcurrent.cjs +1 -1
  58. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  59. package/_cjs/IO/api.cjs +78 -20
  60. package/_cjs/IO/api.cjs.map +1 -1
  61. package/_cjs/IO/definition.cjs +14 -191
  62. package/_cjs/IO/definition.cjs.map +1 -1
  63. package/_cjs/IO.cjs +11 -0
  64. package/_cjs/IO.cjs.map +1 -1
  65. package/_cjs/Layer/MemoMap.cjs +1 -1
  66. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  67. package/_cjs/Layer/api.cjs.map +1 -1
  68. package/_cjs/Push/api.cjs +238 -168
  69. package/_cjs/Push/api.cjs.map +1 -1
  70. package/_cjs/Push/definition.cjs +12 -13
  71. package/_cjs/Push/definition.cjs.map +1 -1
  72. package/_cjs/Push/internal.cjs +37 -29
  73. package/_cjs/Push/internal.cjs.map +1 -1
  74. package/_cjs/RefSubject/Atomic.cjs +15 -19
  75. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  76. package/_cjs/RefSubject/Synchronized/definition.cjs +9 -10
  77. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  78. package/_cjs/RefSubject/api.cjs +5 -6
  79. package/_cjs/RefSubject/api.cjs.map +1 -1
  80. package/_cjs/RefSubject/definition.cjs.map +1 -1
  81. package/_cjs/STM/api/atomically.cjs +1 -1
  82. package/_cjs/STM/api/atomically.cjs.map +1 -1
  83. package/_cjs/STM/api.cjs +2 -2
  84. package/_cjs/STM/api.cjs.map +1 -1
  85. package/_cjs/STM/definition.cjs +1 -1
  86. package/_cjs/STM/definition.cjs.map +1 -1
  87. package/_cjs/ScopedRef/api.cjs +2 -2
  88. package/_cjs/ScopedRef/api.cjs.map +1 -1
  89. package/_cjs/Semaphore.cjs +1 -1
  90. package/_cjs/Semaphore.cjs.map +1 -1
  91. package/_cjs/Sink/api.cjs +13 -13
  92. package/_cjs/Sink/api.cjs.map +1 -1
  93. package/_cjs/Subject/Atomic.cjs +4 -5
  94. package/_cjs/Subject/Atomic.cjs.map +1 -1
  95. package/_cjs/TReentrantLock/api.cjs +2 -2
  96. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  97. package/_cjs/TSemaphore/api.cjs +1 -1
  98. package/_cjs/TSemaphore/api.cjs.map +1 -1
  99. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +12 -17
  100. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  101. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +12 -17
  102. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  103. package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -12
  104. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  105. package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -9
  106. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  107. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +11 -27
  108. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  109. package/_mjs/Channel/api/runScoped.mjs +1 -1
  110. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  111. package/_mjs/Channel/api.mjs +2 -2
  112. package/_mjs/Channel/api.mjs.map +1 -1
  113. package/_mjs/Fiber/FiberRuntime.mjs +111 -100
  114. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  115. package/_mjs/Fiber/constructors.mjs +7 -1
  116. package/_mjs/Fiber/constructors.mjs.map +1 -1
  117. package/_mjs/Future/api.mjs +1 -1
  118. package/_mjs/Future/api.mjs.map +1 -1
  119. package/_mjs/IO/api/all.mjs +24 -0
  120. package/_mjs/IO/api/all.mjs.map +1 -0
  121. package/_mjs/IO/api/asyncIO.mjs +1 -1
  122. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  123. package/_mjs/IO/api/bracketExit.mjs +1 -1
  124. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  125. package/_mjs/IO/api/concurrency.mjs +19 -2
  126. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  127. package/_mjs/IO/api/disconnect.mjs +1 -1
  128. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  129. package/_mjs/IO/api/foreachConcurrent.mjs +1 -1
  130. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  131. package/_mjs/IO/api/foreachExec.mjs +1 -1
  132. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  133. package/_mjs/IO/api/forkIn.mjs +1 -1
  134. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  135. package/_mjs/IO/api/forkScoped.mjs +1 -1
  136. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  137. package/_mjs/IO/api/fulfill.mjs +1 -1
  138. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  139. package/_mjs/IO/api/interrupt.mjs +19 -7
  140. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  141. package/_mjs/IO/api/raceWith.mjs +4 -4
  142. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  143. package/_mjs/IO/api/timeout.mjs +8 -5
  144. package/_mjs/IO/api/timeout.mjs.map +1 -1
  145. package/_mjs/IO/api/zipConcurrent.mjs +1 -1
  146. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  147. package/_mjs/IO/api.mjs +78 -23
  148. package/_mjs/IO/api.mjs.map +1 -1
  149. package/_mjs/IO/definition.mjs +12 -181
  150. package/_mjs/IO/definition.mjs.map +1 -1
  151. package/_mjs/IO.mjs +1 -0
  152. package/_mjs/IO.mjs.map +1 -1
  153. package/_mjs/Layer/MemoMap.mjs +1 -1
  154. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  155. package/_mjs/Layer/api.mjs.map +1 -1
  156. package/_mjs/Push/api.mjs +223 -166
  157. package/_mjs/Push/api.mjs.map +1 -1
  158. package/_mjs/Push/definition.mjs +9 -10
  159. package/_mjs/Push/definition.mjs.map +1 -1
  160. package/_mjs/Push/internal.mjs +33 -22
  161. package/_mjs/Push/internal.mjs.map +1 -1
  162. package/_mjs/RefSubject/Atomic.mjs +15 -19
  163. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  164. package/_mjs/RefSubject/Synchronized/definition.mjs +9 -10
  165. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  166. package/_mjs/RefSubject/api.mjs +6 -7
  167. package/_mjs/RefSubject/api.mjs.map +1 -1
  168. package/_mjs/RefSubject/definition.mjs.map +1 -1
  169. package/_mjs/STM/api/atomically.mjs +1 -1
  170. package/_mjs/STM/api/atomically.mjs.map +1 -1
  171. package/_mjs/STM/api.mjs +2 -2
  172. package/_mjs/STM/api.mjs.map +1 -1
  173. package/_mjs/STM/definition.mjs +1 -1
  174. package/_mjs/STM/definition.mjs.map +1 -1
  175. package/_mjs/ScopedRef/api.mjs +2 -2
  176. package/_mjs/ScopedRef/api.mjs.map +1 -1
  177. package/_mjs/Semaphore.mjs +1 -1
  178. package/_mjs/Semaphore.mjs.map +1 -1
  179. package/_mjs/Sink/api.mjs +10 -10
  180. package/_mjs/Sink/api.mjs.map +1 -1
  181. package/_mjs/Subject/Atomic.mjs +4 -5
  182. package/_mjs/Subject/Atomic.mjs.map +1 -1
  183. package/_mjs/TReentrantLock/api.mjs +2 -2
  184. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  185. package/_mjs/TSemaphore/api.mjs +1 -1
  186. package/_mjs/TSemaphore/api.mjs.map +1 -1
  187. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +12 -17
  188. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  189. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +12 -17
  190. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  191. package/_mjs/collection/immutable/Conc/filterIO.mjs +2 -12
  192. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  193. package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -9
  194. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  195. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +11 -27
  196. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  197. package/_src/Channel/api.ts +3 -3
  198. package/_src/Fiber/FiberRuntime.ts +76 -75
  199. package/_src/Fiber/constructors.ts +5 -0
  200. package/_src/IO/api/all.ts +64 -0
  201. package/_src/IO/api/concurrency.ts +33 -0
  202. package/_src/IO/api/foreachExec.ts +2 -2
  203. package/_src/IO/api/interrupt.ts +20 -7
  204. package/_src/IO/api/raceWith.ts +4 -2
  205. package/_src/IO/api/timeout.ts +21 -1
  206. package/_src/IO/api.ts +79 -27
  207. package/_src/IO/definition.ts +155 -200
  208. package/_src/IO.ts +1 -0
  209. package/_src/Layer/api.ts +0 -1
  210. package/_src/Push/api.ts +305 -304
  211. package/_src/Push/definition.ts +19 -17
  212. package/_src/Push/internal.ts +63 -31
  213. package/_src/RefSubject/Atomic.ts +16 -22
  214. package/_src/RefSubject/Synchronized/definition.ts +6 -9
  215. package/_src/RefSubject/api.ts +9 -12
  216. package/_src/RefSubject/definition.ts +6 -8
  217. package/_src/STM/api.ts +0 -5
  218. package/_src/STM/definition.ts +8 -2
  219. package/_src/Sink/api.ts +9 -9
  220. package/_src/Subject/Atomic.ts +6 -8
  221. package/_src/Subject/definition.ts +2 -2
  222. package/_src/collection/immutable/Conc/dropUntilIO.ts +18 -15
  223. package/_src/collection/immutable/Conc/dropWhileIO.ts +18 -17
  224. package/_src/collection/immutable/Conc/filterIO.ts +1 -11
  225. package/_src/collection/immutable/Conc/mapIO.ts +2 -9
  226. package/_src/collection/immutable/Conc/takeWhileIO.ts +19 -28
  227. package/collection/immutable/Conc/filterIO.d.ts +1 -1
  228. package/collection/immutable/Conc/mapIO.d.ts +1 -1
  229. package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
  230. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":["acquireN","acquireN_1","releaseN","releaseN_1","withPermits","withPermits_1","assert","Effect","RetryException","acquire","self","__tsplusTrace","n","journal","value","tsplus_module_2","unsafeGet","tsplus_module_1","TSemaphore","reverseGet","unsafeSet","available","get","release","current","io","tsplus_module_4","uninterruptibleMask","restore","tsplus_module_5","zipRight","ensuring","tsplus_module_3","atomically","withPermit"],"sources":["../../_src/TSemaphore/api.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"api.mjs","names":["acquireN","acquireN_1","releaseN","releaseN_1","withPermits","withPermits_1","assert","Effect","RetryException","acquire","self","__tsplusTrace","n","journal","value","tsplus_module_2","unsafeGet","tsplus_module_1","TSemaphore","reverseGet","unsafeSet","available","get","release","current","io","tsplus_module_4","uninterruptibleMask","restore","tsplus_module_5","zipRight","ensuring","tsplus_module_3","atomically","withPermit"],"sources":["../../_src/TSemaphore/api.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,25 +1,20 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Conc";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api";
1
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
2
+ import * as tsplus_module_2 from "@fncts/base/collection/immutable/Conc/api";
3
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api/empty";
3
4
  /**
4
5
  * @tsplus pipeable fncts.Conc dropUntilIO
5
6
  */
6
7
  export function dropUntilIO(p, __tsplusTrace) {
7
8
  return self => {
8
- return tsplus_module_2.defer(() => {
9
- const builder = new tsplus_module_1.ConcBuilder();
10
- let dropping = tsplus_module_2.succeedNow(false, __tsplusTrace);
11
- for (const elem of self) {
12
- dropping = tsplus_module_2.flatMap(b => {
13
- if (b) {
14
- builder.append(elem);
15
- return tsplus_module_2.succeedNow(true, __tsplusTrace);
16
- } else {
17
- return p(elem);
18
- }
19
- }, __tsplusTrace)(dropping);
20
- }
21
- return tsplus_module_2.as(() => builder.result(), __tsplusTrace)(dropping);
22
- }, __tsplusTrace);
9
+ return tsplus_module_1.defer(() => dropUntilIOLoop(self, self[Symbol.iterator](), p, 0, __tsplusTrace), __tsplusTrace);
23
10
  };
24
11
  }
12
+ function dropUntilIOLoop(self, iterator, p, index, __tsplusTrace) {
13
+ let result;
14
+ if (!(result = iterator.next()).done) {
15
+ return tsplus_module_1.flatMap(b => b ? tsplus_module_1.succeed(() => tsplus_module_2.drop(index + 1)(self), __tsplusTrace) : dropUntilIOLoop(self, iterator, p, index + 1, __tsplusTrace), __tsplusTrace)(p(result.value));
16
+ } else {
17
+ return tsplus_module_1.succeed(() => tsplus_module_3.empty(), __tsplusTrace);
18
+ }
19
+ }
25
20
  //# sourceMappingURL=dropUntilIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropUntilIO.mjs","names":["dropUntilIO","p","__tsplusTrace","self","tsplus_module_2","defer","builder","tsplus_module_1","ConcBuilder","dropping","succeedNow","elem","flatMap","b","append","as","result"],"sources":["../../../../_src/collection/immutable/Conc/dropUntilIO.ts"],"sourcesContent":[null],"mappings":";;AAAA;;;AAGA,OAAM,SAAUA,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACnB,MAAMC,OAAO,GAAqB,IAAAC,eAAA,CAAIC,WAAW,EAAK;MACtD,IAAIC,QAAQ,GAAsBL,eAAA,CAAAM,UAAA,CAAc,KAAK,EAJUR,aAAA,CAIT;MACtD,KAAK,MAAMS,IAAI,IAAIR,IAAI,EAAE;QACvBM,QAAQ,GAAGL,eAAA,CAAAQ,OAAA,CAAkBC,CAAC,IAAI;UAChC,IAAIA,CAAC,EAAE;YACLP,OAAO,CAACQ,MAAM,CAACH,IAAI,CAAC;YACpB,OAAOP,eAAA,CAAAM,UAAA,CAAc,IAAI,EATgCR,aAAA,CAS/B;WAC3B,MAAM;YACL,OAAOD,CAAC,CAACU,IAAI,CAAC;;QAElB,CAAC,EAb4DT,aAAA,EAMlDO,QAAQ,CAOjB;;MAEJ,OAAOL,eAAA,CAAAW,EAAA,OAAYT,OAAO,CAACU,MAAM,EAAE,EAf4Bd,aAAA,EAexDO,QAAQ,CAAqB;IACtC,CAAC,EAhBgEP,aAAA,CAgB/D;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"dropUntilIO.mjs","names":["dropUntilIO","p","__tsplusTrace","self","tsplus_module_1","defer","dropUntilIOLoop","Symbol","iterator","index","result","next","done","flatMap","b","succeed","tsplus_module_2","drop","value","tsplus_module_3","empty"],"sources":["../../../../_src/collection/immutable/Conc/dropUntilIO.ts"],"sourcesContent":[null],"mappings":";;;AAAA;;;AAGA,OAAM,SAAUA,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,OAASC,eAAe,CAACH,IAAI,EAAEA,IAAI,CAACI,MAAM,CAACC,QAAQ,CAAC,EAAE,EAAEP,CAAC,EAAE,CAAC,EAFFC,aAAA,CAEG,EAFHA,aAAA,CAEI;EACvE,CAAC;AACH;AAEA,SAASI,eAAeA,CACtBH,IAAa,EACbK,QAAqB,EACrBP,CAA8B,EAC9BQ,KAAa,EACbP,aAAsB;EAEtB,IAAIQ,MAAyB;EAC7B,IAAI,CAAC,CAACA,MAAM,GAAGF,QAAQ,CAACG,IAAI,EAAE,EAAEC,IAAI,EAAE;IACpC,OAAOR,eAAA,CAAAS,OAAA,CAAyBC,CAAC,IAC/BA,CAAC,GAAGV,eAAA,CAAAW,OAAA,OAAWC,eAAA,CAAAC,IAAA,CAAUR,KAAK,GAAG,CAAC,EAAnBN,IAAI,CAAgB,EALvCD,aAAA,CAKwC,GAAGI,eAAe,CAACH,IAAI,EAAEK,QAAQ,EAAEP,CAAC,EAAEQ,KAAK,GAAG,CAAC,EALvFP,aAAA,CAKwF,EALxFA,aAAA,EAISD,CAAC,CAACS,MAAM,CAACQ,KAAK,CAAC,CAErB;GACF,MAAM;IACL,OAAOd,eAAA,CAAAW,OAAA,OAAWI,eAAA,CAAAC,KAAA,EAAY,EARhClB,aAAA,CAQiC;;AAEnC"}
@@ -1,25 +1,20 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Conc";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api";
1
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
2
+ import * as tsplus_module_2 from "@fncts/base/collection/immutable/Conc/api";
3
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api/empty";
3
4
  /**
4
5
  * @tsplus pipeable fncts.Conc dropWhileIO
5
6
  */
6
7
  export function dropWhileIO(p, __tsplusTrace) {
7
8
  return self => {
8
- return tsplus_module_2.defer(() => {
9
- const builder = new tsplus_module_1.ConcBuilder();
10
- let dropping = tsplus_module_2.succeedNow(true, __tsplusTrace);
11
- for (const elem of self) {
12
- dropping = tsplus_module_2.flatMap(d => tsplus_module_2.map(b => {
13
- if (b) {
14
- return true;
15
- } else {
16
- builder.append(elem);
17
- return false;
18
- }
19
- }, __tsplusTrace)(d ? p(elem) : tsplus_module_2.succeedNow(false, __tsplusTrace)), __tsplusTrace)(dropping);
20
- }
21
- return tsplus_module_2.as(() => builder.result(), __tsplusTrace)(dropping);
22
- }, __tsplusTrace);
9
+ return tsplus_module_1.defer(() => dropWhileIOLoop(self, self[Symbol.iterator](), p, 0, __tsplusTrace), __tsplusTrace);
23
10
  };
24
11
  }
12
+ function dropWhileIOLoop(self, iterator, p, index, __tsplusTrace) {
13
+ let result;
14
+ if (!(result = iterator.next()).done) {
15
+ return tsplus_module_1.flatMap(b => b ? dropWhileIOLoop(self, iterator, p, index + 1, __tsplusTrace) : tsplus_module_1.succeed(() => tsplus_module_2.drop(index)(self), __tsplusTrace), __tsplusTrace)(p(result.value));
16
+ } else {
17
+ return tsplus_module_1.succeed(() => tsplus_module_3.empty(), __tsplusTrace);
18
+ }
19
+ }
25
20
  //# sourceMappingURL=dropWhileIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropWhileIO.mjs","names":["dropWhileIO","p","__tsplusTrace","self","tsplus_module_2","defer","builder","tsplus_module_1","ConcBuilder","dropping","succeedNow","elem","flatMap","d","map","b","append","as","result"],"sources":["../../../../_src/collection/immutable/Conc/dropWhileIO.ts"],"sourcesContent":[null],"mappings":";;AAAA;;;AAGA,OAAM,SAAUA,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACnB,MAAMC,OAAO,GAAqB,IAAAC,eAAA,CAAIC,WAAW,EAAK;MACtD,IAAIC,QAAQ,GAAsBL,eAAA,CAAAM,UAAA,CAAc,IAAI,EAJWR,aAAA,CAIV;MACrD,KAAK,MAAMS,IAAI,IAAIR,IAAI,EAAE;QACvBM,QAAQ,GAAGL,eAAA,CAAAQ,OAAA,CAAkBC,CAAC,IAC5BT,eAAA,CAAAU,GAAA,CAA0CC,CAAC,IAAI;UAC7C,IAAIA,CAAC,EAAE;YACL,OAAO,IAAI;WACZ,MAAM;YACLT,OAAO,CAACU,MAAM,CAACL,IAAI,CAAC;YACpB,OAAO,KAAK;;QAEhB,CAAC,EAd0DT,aAAA,EAO1DW,CAAC,GAAGZ,CAAC,CAACU,IAAI,CAAC,GAAGP,eAAA,CAAAM,UAAA,CAAc,KAAK,EAPyBR,aAAA,CAOxB,CAOjC,EAdyDA,aAAA,EAMlDO,QAAQ,CASlB;;MAEH,OAAOL,eAAA,CAAAa,EAAA,OAAYX,OAAO,CAACY,MAAM,EAAE,EAjB4BhB,aAAA,EAiBxDO,QAAQ,CAAqB;IACtC,CAAC,EAlBgEP,aAAA,CAkB/D;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"dropWhileIO.mjs","names":["dropWhileIO","p","__tsplusTrace","self","tsplus_module_1","defer","dropWhileIOLoop","Symbol","iterator","index","result","next","done","flatMap","b","succeed","tsplus_module_2","drop","value","tsplus_module_3","empty"],"sources":["../../../../_src/collection/immutable/Conc/dropWhileIO.ts"],"sourcesContent":[null],"mappings":";;;AAAA;;;AAGA,OAAM,SAAUA,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,OAASC,eAAe,CAACH,IAAI,EAAEA,IAAI,CAACI,MAAM,CAACC,QAAQ,CAAC,EAAE,EAAEP,CAAC,EAAE,CAAC,EAFFC,aAAA,CAEG,EAFHA,aAAA,CAEI;EACvE,CAAC;AACH;AAEA,SAASI,eAAeA,CACtBH,IAAa,EACbK,QAAqB,EACrBP,CAA8B,EAC9BQ,KAAa,EACbP,aAAsB;EAEtB,IAAIQ,MAAyB;EAC7B,IAAI,CAAC,CAACA,MAAM,GAAGF,QAAQ,CAACG,IAAI,EAAE,EAAEC,IAAI,EAAE;IACpC,OAAOR,eAAA,CAAAS,OAAA,CAAyBC,CAAC,IAC/BA,CAAC,GAAGR,eAAe,CAACH,IAAI,EAAEK,QAAQ,EAAEP,CAAC,EAAEQ,KAAK,GAAG,CAAC,EALpDP,aAAA,CAKqD,GAAGE,eAAA,CAAAW,OAAA,OAAWC,eAAA,CAAAC,IAAA,CAAUR,KAAK,EAAfN,IAAI,CAAY,EALnFD,aAAA,CAKoF,EALpFA,aAAA,EAISD,CAAC,CAACS,MAAM,CAACQ,KAAK,CAAC,CAErB;GACF,MAAM;IACL,OAAOd,eAAA,CAAAW,OAAA,OAAWI,eAAA,CAAAC,KAAA,EAAY,EARhClB,aAAA,CAQiC;;AAEnC"}
@@ -1,20 +1,10 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Conc";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api";
1
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
3
2
  /**
4
3
  * @tsplus pipeable fncts.Conc filterIO
5
4
  */
6
5
  export function filterIO(p, __tsplusTrace) {
7
6
  return self => {
8
- return tsplus_module_2.defer(() => {
9
- const builder = new tsplus_module_1.ConcBuilder();
10
- let dest = tsplus_module_2.succeedNow(builder, __tsplusTrace);
11
- for (const a of self) {
12
- dest = tsplus_module_2.zipWith(p(a), (builder, res) => {
13
- if (res) return builder.append(a);else return builder;
14
- }, __tsplusTrace)(dest);
15
- }
16
- return tsplus_module_2.map(builder => builder.result(), __tsplusTrace)(dest);
17
- }, __tsplusTrace);
7
+ return tsplus_module_1.filter(self, p, __tsplusTrace);
18
8
  };
19
9
  }
20
10
  //# sourceMappingURL=filterIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterIO.mjs","names":["filterIO","p","__tsplusTrace","self","tsplus_module_2","defer","builder","tsplus_module_1","ConcBuilder","dest","succeedNow","a","zipWith","res","append","map","result"],"sources":["../../../../_src/collection/immutable/Conc/filterIO.ts"],"sourcesContent":[null],"mappings":";;AAAA;;;AAGA,OAAM,SAAUA,QAAQA,CAAUC,CAA8B,EAAEC,aAAsB;EACtF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACnB,MAAMC,OAAO,GAAG,IAAAC,eAAA,CAAIC,WAAW,EAAK;MACpC,IAAIC,IAAI,GAA6BL,eAAA,CAAAM,UAAA,CAAcJ,OAAO,EAJEJ,aAAA,CAID;MAC3D,KAAK,MAAMS,CAAC,IAAIR,IAAI,EAAE;QACpBM,IAAI,GAAGL,eAAA,CAAAQ,OAAA,CAAaX,CAAC,CAACU,CAAC,CAAC,EAAE,CAACL,OAAO,EAAEO,GAAG,KAAI;UACzC,IAAIA,GAAG,EAAE,OAAOP,OAAO,CAACQ,MAAM,CAACH,CAAC,CAAC,CAAC,KAC7B,OAAOL,OAAO;QACrB,CAAC,EATyDJ,aAAA,EAMnDO,IAAI,CAGT;;MAEJ,OAAOL,eAAA,CAAAW,GAAA,CAAUT,OAAO,IAAKA,OAAO,CAACU,MAAM,EAAE,EAXed,aAAA,EAWrDO,IAAI,CAAmC;IAChD,CAAC,EAZ6DP,aAAA,CAY5D;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"filterIO.mjs","names":["filterIO","p","__tsplusTrace","self","tsplus_module_1","filter"],"sources":["../../../../_src/collection/immutable/Conc/filterIO.ts"],"sourcesContent":[null],"mappings":";AAAA;;;AAGA,OAAM,SAAUA,QAAQA,CAAUC,CAA8B,EAAEC,aAAsB;EACtF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,MAAA,CAAUF,IAAI,EAAEF,CAAC,EAFsCC,aAAA,CAErC;EAC3B,CAAC;AACH"}
@@ -1,16 +1,10 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Conc/api";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api";
1
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
3
2
  /**
4
3
  * @tsplus pipeable fncts.Conc mapIO
5
4
  */
6
5
  export function mapIO(f, __tsplusTrace) {
7
- return as => {
8
- return tsplus_module_2.defer(() => {
9
- const out = tsplus_module_1.builder();
10
- return tsplus_module_2.as(() => out.result(), __tsplusTrace)(tsplus_module_2.foreachDiscard(as, a => tsplus_module_2.map(b => {
11
- out.append(b);
12
- }, __tsplusTrace)(f(a)), __tsplusTrace));
13
- }, __tsplusTrace);
6
+ return self => {
7
+ return tsplus_module_1.foreach(self, f, __tsplusTrace);
14
8
  };
15
9
  }
16
10
  //# sourceMappingURL=mapIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapIO.mjs","names":["mapIO","f","__tsplusTrace","as","tsplus_module_2","defer","out","tsplus_module_1","builder","result","foreachDiscard","a","map","b","append"],"sources":["../../../../_src/collection/immutable/Conc/mapIO.ts"],"sourcesContent":[null],"mappings":";;AAAA;;;AAGA,OAAM,SAAUA,KAAKA,CAAaC,CAAwB,EAAEC,aAAsB;EAChF,OAAQC,EAAW,IAAuB;IACxC,OAAOC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACnB,MAAMC,GAAG,GAAGC,eAAA,CAAAC,OAAA,EAAiB;MAC7B,OAAOJ,eAAA,CAAAD,EAAA,OAIFG,GAAG,CAACG,MAAM,EAAE,EARqCP,aAAA,EAI/CE,eAAA,CAAAM,cAAA,CAAkBP,EAAE,EAAGQ,CAAC,IAC7BP,eAAA,CAAAQ,GAAA,CAAUC,CAAC,IAAI;QACbP,GAAG,CAACQ,MAAM,CAACD,CAAC,CAAC;MACf,CAAC,EAPmDX,aAAA,EAKpDD,CAAC,CAACU,CAAC,CAAC,CAEF,EAPkDT,aAAA,CAQrD,CAAiB;IACpB,CAAC,EATuDA,aAAA,CAStD;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"mapIO.mjs","names":["mapIO","f","__tsplusTrace","self","tsplus_module_1","foreach"],"sources":["../../../../_src/collection/immutable/Conc/mapIO.ts"],"sourcesContent":[null],"mappings":";AAAA;;;AAGA,OAAM,SAAUA,KAAKA,CAAaC,CAAwB,EAAEC,aAAsB;EAChF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,OAAA,CAAWF,IAAI,EAAEF,CAAC,EAF+BC,aAAA,CAE9B;EAC5B,CAAC;AACH"}
@@ -1,36 +1,20 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api";
2
2
  import * as tsplus_module_2 from "@fncts/base/collection/immutable/Conc/api";
3
- import { concrete } from "@fncts/base/collection/immutable/Conc";
3
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Conc/api/empty";
4
4
  /**
5
5
  * @tsplus pipeable fncts.Conc takeWhileIO
6
6
  */
7
7
  export function takeWhileIO(p, __tsplusTrace) {
8
- return as => {
9
- return tsplus_module_1.defer(() => {
10
- void 0;
11
- let taking = tsplus_module_1.succeedNow(true, __tsplusTrace);
12
- const out = tsplus_module_2.builder();
13
- const iterator = as.arrayIterator();
14
- let result;
15
- while (!(result = iterator.next()).done) {
16
- const array = result.value;
17
- for (let i = 0; i < array.length; i++) {
18
- const j = i;
19
- taking = tsplus_module_1.flatMap(b => {
20
- const a = array[j];
21
- return tsplus_module_1.map(b1 => {
22
- if (b1) {
23
- out.append(a);
24
- return true;
25
- } else {
26
- return false;
27
- }
28
- }, __tsplusTrace)(b ? p(a) : tsplus_module_1.succeedNow(false, __tsplusTrace));
29
- }, __tsplusTrace)(taking);
30
- }
31
- }
32
- return tsplus_module_1.as(() => out.result(), __tsplusTrace)(taking);
33
- }, __tsplusTrace);
8
+ return self => {
9
+ return tsplus_module_1.defer(() => takeWhileIOLoop(self, self[Symbol.iterator](), p, 0, __tsplusTrace), __tsplusTrace);
34
10
  };
35
11
  }
12
+ function takeWhileIOLoop(self, iterator, p, index, __tsplusTrace) {
13
+ let result;
14
+ if (!(result = iterator.next()).done) {
15
+ return tsplus_module_1.flatMap(b => b ? takeWhileIOLoop(self, iterator, p, index + 1, __tsplusTrace) : tsplus_module_1.succeed(() => tsplus_module_2.take(index)(self), __tsplusTrace), __tsplusTrace)(p(result.value));
16
+ } else {
17
+ return tsplus_module_1.succeed(() => tsplus_module_3.empty(), __tsplusTrace);
18
+ }
19
+ }
36
20
  //# sourceMappingURL=takeWhileIO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"takeWhileIO.mjs","names":["concrete","takeWhileIO","p","__tsplusTrace","as","tsplus_module_1","defer","taking","succeedNow","out","tsplus_module_2","builder","iterator","arrayIterator","result","next","done","array","value","i","length","j","flatMap","b","a","map","b1","append"],"sources":["../../../../_src/collection/immutable/Conc/takeWhileIO.ts"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uCAAuC;AAEhE;;;AAGA,OAAM,SAAUC,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,EAAW,IAAuB;IACxC,OAAOC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACnB;MACA,IAAIC,MAAM,GAAsBF,eAAA,CAAAG,UAAA,CAAc,IAAI,EAJaL,aAAA,CAIZ;MACnD,MAAMM,GAAG,GAAuBC,eAAA,CAAAC,OAAA,EAAiB;MACjD,MAAMC,QAAQ,GAAkBR,EAAE,CAACS,aAAa,EAAE;MAClD,IAAIC,MAAoC;MACxC,OAAO,CAAC,CAACA,MAAM,GAAGF,QAAQ,CAACG,IAAI,EAAE,EAAEC,IAAI,EAAE;QACvC,MAAMC,KAAK,GAAGH,MAAM,CAACI,KAAK;QAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;UACrC,MAAME,CAAC,GAAGF,CAAC;UACXZ,MAAM,GAAIF,eAAA,CAAAiB,OAAA,CAAgBC,CAAC,IAAI;YAC7B,MAAMC,CAAC,GAAGP,KAAK,CAACI,CAAC,CAAE;YACnB,OAAOhB,eAAA,CAAAoB,GAAA,CAAuCC,EAAE,IAAI;cAClD,IAAIA,EAAE,EAAE;gBACNjB,GAAG,CAACkB,MAAM,CAACH,CAAC,CAAC;gBACb,OAAO,IAAI;eACZ,MAAM;gBACL,OAAO,KAAK;;YAEhB,CAAC,EArBwDrB,aAAA,EAcjDoB,CAAC,GAAGrB,CAAC,CAACsB,CAAC,CAAC,GAAGnB,eAAA,CAAAG,UAAA,CAAc,KAAK,EAdmBL,aAAA,CAclB,CAOrC;UACJ,CAAC,EAtB0DA,aAAA,EAYjDI,MAAM,CAUd;;;MAGN,OAAOF,eAAA,CAAAD,EAAA,OAAUK,GAAG,CAACK,MAAM,EAAE,EAzBkCX,aAAA,EAyBxDI,MAAM,CAAiB;IAChC,CAAC,EA1BgEJ,aAAA,CA0B/D;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"takeWhileIO.mjs","names":["takeWhileIO","p","__tsplusTrace","self","tsplus_module_1","defer","takeWhileIOLoop","Symbol","iterator","index","result","next","done","flatMap","b","succeed","tsplus_module_2","take","value","tsplus_module_3","empty"],"sources":["../../../../_src/collection/immutable/Conc/takeWhileIO.ts"],"sourcesContent":[null],"mappings":";;;AAAA;;;AAGA,OAAM,SAAUA,WAAWA,CAAUC,CAA8B,EAAEC,aAAsB;EACzF,OAAQC,IAAa,IAAuB;IAC1C,OAAOC,eAAA,CAAAC,KAAA,OAASC,eAAe,CAACH,IAAI,EAAEA,IAAI,CAACI,MAAM,CAACC,QAAQ,CAAC,EAAE,EAAEP,CAAC,EAAE,CAAC,EAFFC,aAAA,CAEG,EAFHA,aAAA,CAEI;EACvE,CAAC;AACH;AAEA,SAASI,eAAeA,CACtBH,IAAa,EACbK,QAAqB,EACrBP,CAA8B,EAC9BQ,KAAa,EACbP,aAAsB;EAEtB,IAAIQ,MAAyB;EAC7B,IAAI,CAAC,CAACA,MAAM,GAAGF,QAAQ,CAACG,IAAI,EAAE,EAAEC,IAAI,EAAE;IACpC,OAAOR,eAAA,CAAAS,OAAA,CAAyBC,CAAC,IAC/BA,CAAC,GAAGR,eAAe,CAACH,IAAI,EAAEK,QAAQ,EAAEP,CAAC,EAAEQ,KAAK,GAAG,CAAC,EALpDP,aAAA,CAKqD,GAAGE,eAAA,CAAAW,OAAA,OAAWC,eAAA,CAAAC,IAAA,CAAUR,KAAK,EAAfN,IAAI,CAAY,EALnFD,aAAA,CAKoF,EALpFA,aAAA,EAISD,CAAC,CAACS,MAAM,CAACQ,KAAK,CAAC,CAErB;GACF,MAAM;IACL,OAAOd,eAAA,CAAAW,OAAA,OAAWI,eAAA,CAAAC,KAAA,EAAY,EARhClB,aAAA,CAQiC;;AAEnC"}
@@ -827,10 +827,10 @@ export function mapOut<OutElem, OutElem2>(f: (o: OutElem) => OutElem2) {
827
827
  const mapOutIOReader = <Env, Env1, OutErr, OutErr1, OutElem, OutElem1, OutDone>(
828
828
  f: (o: OutElem) => IO<Env1, OutErr1, OutElem1>,
829
829
  ): Channel<Env | Env1, OutErr, OutElem, OutDone, OutErr | OutErr1, OutElem1, OutDone> =>
830
- Channel.readWith(
830
+ Channel.readWithCause(
831
831
  (out) => Channel.fromIO(f(out)).flatMap(Channel.writeNow).zipRight(mapOutIOReader(f)),
832
- Channel.failNow,
833
- Channel.endNow,
832
+ Channel.failCauseNow,
833
+ Channel.succeedNow,
834
834
  );
835
835
 
836
836
  /**
@@ -1,5 +1,6 @@
1
1
  import type { FiberStatus } from "../FiberStatus.js";
2
2
  import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
3
+ import type { WhileLoop } from "../IO/definition.js";
3
4
  import type { RuntimeFlags } from "../RuntimeFlags.js";
4
5
 
5
6
  import { isIOError } from "@fncts/base/data/exceptions";
@@ -12,29 +13,22 @@ import { Done, Suspended } from "../FiberStatus.js";
12
13
  import { Running } from "../FiberStatus.js";
13
14
  import { FiberStatusTag } from "../FiberStatus.js";
14
15
  import { LinkedQueue } from "../internal/MutableQueue.js";
15
- import { isIO } from "../IO/definition.js";
16
- import { WhileLoop } from "../IO/definition.js";
17
- import { IOOpCode } from "../IO/definition.js";
16
+ import { IOPrimitive, isIO } from "../IO/definition.js";
17
+ import { IOTag } from "../IO/definition.js";
18
18
  import { RuntimeFlag } from "../RuntimeFlag.js";
19
19
  import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
20
20
 
21
21
  export class RevertFlags {
22
- readonly _tag = IOOpCode.RevertFlags;
22
+ readonly _tag = IOTag.RevertFlags;
23
23
  constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
24
24
  }
25
25
 
26
26
  export class UpdateTrace {
27
- readonly _tag = IOOpCode.UpdateTrace;
27
+ readonly _tag = IOTag.UpdateTrace;
28
28
  constructor(readonly trace?: string) {}
29
29
  }
30
30
 
31
- export type Continuation =
32
- | OnSuccess<any, any, any, any, any, any>
33
- | OnSuccessAndFailure<any, any, any, any, any, any, any, any, any>
34
- | OnFailure<any, any, any, any, any, any>
35
- | WhileLoop<any, any, any>
36
- | UpdateTrace
37
- | RevertFlags;
31
+ export type Continuation = OnSuccess | OnSuccessAndFailure | OnFailure | WhileLoop | UpdateTrace | RevertFlags;
38
32
 
39
33
  /**
40
34
  * @tsplus type fncts.io.Fiber
@@ -268,7 +262,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
268
262
  }
269
263
  } catch (e) {
270
264
  if (isIO(e)) {
271
- if (IO.concrete(e)._tag === IOOpCode.YieldNow) {
265
+ if (IO.concrete(e)._tag === IOTag.YieldNow) {
272
266
  if (this._runtimeFlags.cooperativeYielding) {
273
267
  this.tell(FiberMessage.YieldNow);
274
268
  this.tell(FiberMessage.Resume(IO.unit));
@@ -276,7 +270,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
276
270
  } else {
277
271
  effect = IO.unit;
278
272
  }
279
- } else if (IO.concrete(e)._tag === IOOpCode.Async) {
273
+ } else if (IO.concrete(e)._tag === IOTag.Async) {
280
274
  effect = null!;
281
275
  } else {
282
276
  throw new Error(`Unhandled op ${IO.concrete(e)._tag}`);
@@ -302,6 +296,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
302
296
  if (this._runtimeFlags.opSupervision) {
303
297
  this.getSupervisor().unsafeOnEffect(this, cur);
304
298
  }
299
+
305
300
  const nextTrace = IO.concrete(cur).trace;
306
301
  if (nextTrace !== undefined) lastTrace = nextTrace;
307
302
 
@@ -317,27 +312,30 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
317
312
  }
318
313
  try {
319
314
  switch (cur._tag) {
320
- case IOOpCode.Sync: {
321
- const value = cur.evaluate();
315
+ case IOTag.Sync: {
316
+ const value = cur.i0();
322
317
  const cont = this.getNextSuccessCont();
323
318
  if (cont) {
324
319
  switch (cont._tag) {
325
- case IOOpCode.OnSuccess:
326
- case IOOpCode.OnSuccessAndFailure: {
327
- cur = IO.concrete(cont.successK(value));
320
+ case IOTag.OnSuccess: {
321
+ cur = IO.concrete(cont.i1(value));
322
+ break;
323
+ }
324
+ case IOTag.OnSuccessAndFailure: {
325
+ cur = IO.concrete(cont.i2(value));
328
326
  break;
329
327
  }
330
- case IOOpCode.WhileLoop: {
331
- cont.process(value);
332
- if (cont.check()) {
328
+ case IOTag.WhileLoop: {
329
+ cont.i2(value);
330
+ if (cont.i0()) {
333
331
  this.stack.push(cont);
334
- cur = IO.concrete(cont.body());
332
+ cur = IO.concrete(cont.i1());
335
333
  } else {
336
334
  cur = IO.concrete(IO.unit);
337
335
  }
338
336
  break;
339
337
  }
340
- case IOOpCode.RevertFlags: {
338
+ case IOTag.RevertFlags: {
341
339
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
342
340
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
343
341
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
@@ -346,7 +344,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
346
344
  }
347
345
  break;
348
346
  }
349
- case IOOpCode.UpdateTrace: {
347
+ case IOTag.UpdateTrace: {
350
348
  if (cont.trace !== undefined) lastTrace = cont.trace;
351
349
  cur = IO.concrete(IO.unit);
352
350
  break;
@@ -357,26 +355,26 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
357
355
  }
358
356
  break;
359
357
  }
360
- case IOOpCode.OnSuccessAndFailure:
361
- case IOOpCode.OnFailure:
362
- case IOOpCode.OnSuccess: {
358
+ case IOTag.OnSuccessAndFailure:
359
+ case IOTag.OnFailure:
360
+ case IOTag.OnSuccess: {
363
361
  this.stack.push(cur);
364
- cur = IO.concrete(cur.first);
362
+ cur = IO.concrete(cur.i0);
365
363
  break;
366
364
  }
367
- case IOOpCode.Async: {
365
+ case IOTag.Async: {
368
366
  this.asyncTrace = lastTrace;
369
- this.asyncBlockinOn = cur.blockingOn();
370
- this.initiateAsync(this._runtimeFlags, cur.registerCallback);
367
+ this.asyncBlockinOn = cur.i1();
368
+ this.initiateAsync(this._runtimeFlags, cur.i0);
371
369
  throw cur;
372
370
  }
373
- case IOOpCode.UpdateRuntimeFlagsWithin: {
374
- const updateFlags = cur.update;
371
+ case IOTag.UpdateRuntimeFlagsWithin: {
372
+ const updateFlags = cur.i0;
375
373
  const oldRuntimeFlags = this._runtimeFlags;
376
374
  const newRuntimeFlags = updateFlags.patch(oldRuntimeFlags);
377
375
 
378
376
  if (newRuntimeFlags === oldRuntimeFlags) {
379
- cur = IO.concrete(cur.scope(oldRuntimeFlags));
377
+ cur = IO.concrete(cur.i1(oldRuntimeFlags));
380
378
  } else {
381
379
  if (newRuntimeFlags.interruptible && this.isInterrupted()) {
382
380
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
@@ -384,72 +382,75 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
384
382
  this.patchRuntimeFlags(this._runtimeFlags, updateFlags);
385
383
  const revertFlags = newRuntimeFlags.diff(oldRuntimeFlags);
386
384
  this.stack.push(new RevertFlags(revertFlags));
387
- cur = IO.concrete(cur.scope(oldRuntimeFlags));
385
+ cur = IO.concrete(cur.i1(oldRuntimeFlags));
388
386
  }
389
387
  }
390
388
  break;
391
389
  }
392
- case IOOpCode.GenerateStackTrace: {
390
+ case IOTag.GenerateStackTrace: {
393
391
  cur = IO.concrete(IO.succeedNow(this.generateStackTrace()));
394
392
  break;
395
393
  }
396
- case IOOpCode.Stateful: {
397
- cur = IO.concrete(cur.onState(this, new Running(this._runtimeFlags, lastTrace)));
394
+ case IOTag.Stateful: {
395
+ cur = IO.concrete(cur.i0(this, new Running(this._runtimeFlags, lastTrace)));
398
396
  break;
399
397
  }
400
- case IOOpCode.SucceedNow: {
398
+ case IOTag.SucceedNow: {
401
399
  const oldCur = cur;
402
400
  const cont = this.getNextSuccessCont();
403
401
  if (cont) {
404
402
  switch (cont._tag) {
405
- case IOOpCode.OnSuccess:
406
- case IOOpCode.OnSuccessAndFailure: {
407
- cur = IO.concrete(cont.successK(oldCur.value));
403
+ case IOTag.OnSuccess: {
404
+ cur = IO.concrete(cont.i1(oldCur.i0));
405
+ break;
406
+ }
407
+ case IOTag.OnSuccessAndFailure: {
408
+ cur = IO.concrete(cont.i2(oldCur.i0));
408
409
  break;
409
410
  }
410
- case IOOpCode.WhileLoop: {
411
- cont.process(oldCur.value);
412
- if (cont.check()) {
411
+ case IOTag.WhileLoop: {
412
+ cont.i2(oldCur.i0);
413
+ if (cont.i0()) {
413
414
  this.stack.push(cont);
414
- cur = IO.concrete(cont.body());
415
+ cur = IO.concrete(cont.i1());
415
416
  } else {
416
417
  cur = IO.concrete(IO.unit);
417
418
  }
418
419
  break;
419
420
  }
420
- case IOOpCode.RevertFlags: {
421
+ case IOTag.RevertFlags: {
421
422
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
422
423
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
423
424
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
424
425
  }
425
426
  break;
426
427
  }
427
- case IOOpCode.UpdateTrace: {
428
+ case IOTag.UpdateTrace: {
428
429
  if (cont.trace !== undefined) lastTrace = cont.trace;
429
430
  cur = IO.concrete(IO.unit);
430
431
  break;
431
432
  }
432
433
  }
433
434
  } else {
434
- return Exit.succeed(oldCur.value);
435
+ return Exit.succeed(oldCur.i0);
435
436
  }
436
437
  break;
437
438
  }
438
- case IOOpCode.Fail: {
439
- const cause = cur.cause();
439
+ case IOTag.Fail: {
440
+ const cause = cur.i0();
440
441
  const cont = this.getNextFailCont();
441
442
  if (cont) {
442
443
  switch (cont._tag) {
443
- case IOOpCode.OnFailure:
444
- case IOOpCode.OnSuccessAndFailure: {
444
+ case IOTag.OnFailure:
445
+ case IOTag.OnSuccessAndFailure: {
445
446
  if (!(this._runtimeFlags.interruptible && this.isInterrupted())) {
446
- cur = IO.concrete(cont.failureK(cause));
447
+ cur = IO.concrete(cont.i1(cause));
447
448
  } else {
448
449
  cur = IO.concrete(IO.failCauseNow(cause.stripFailures));
449
450
  }
450
451
  break;
451
452
  }
452
- case IOOpCode.RevertFlags: {
453
+ case IOTag.RevertFlags: {
453
454
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
454
455
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
455
456
  const interruptedCause = this.getInterruptedCause();
@@ -461,7 +462,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
461
462
  }
462
463
  break;
463
464
  }
464
- case IOOpCode.UpdateTrace: {
465
+ case IOTag.UpdateTrace: {
465
466
  if (cont.trace !== undefined) lastTrace = cont.trace;
466
467
  cur = IO.concrete(IO.unit);
467
468
  break;
@@ -472,15 +473,15 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
472
473
  }
473
474
  break;
474
475
  }
475
- case IOOpCode.UpdateRuntimeFlags: {
476
- this.patchRuntimeFlags(this._runtimeFlags, cur.update);
476
+ case IOTag.UpdateRuntimeFlags: {
477
+ this.patchRuntimeFlags(this._runtimeFlags, cur.i0);
477
478
  cur = IO.concrete(IO.unit);
478
479
  break;
479
480
  }
480
- case IOOpCode.WhileLoop: {
481
+ case IOTag.WhileLoop: {
481
482
  const iterate = cur;
482
- const check = iterate.check;
483
- const body = iterate.body;
483
+ const check = iterate.i0;
484
+ const body = iterate.i1;
484
485
  if (check()) {
485
486
  cur = IO.concrete(body());
486
487
  this.stack.push(iterate);
@@ -489,10 +490,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
489
490
  }
490
491
  break;
491
492
  }
492
- case IOOpCode.YieldNow: {
493
+ case IOTag.YieldNow: {
493
494
  throw cur;
494
495
  }
495
- case IOOpCode.Commit: {
496
+ case IOTag.Commit: {
496
497
  cur = IO.concrete(cur.commit);
497
498
  break;
498
499
  }
@@ -524,7 +525,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
524
525
  } catch (e) {
525
526
  if (isIOError(e)) {
526
527
  cur = IO.concrete(IO.failCauseNow(e.cause));
527
- } else if (isIO(e) && (IO.concrete(e)._tag === IOOpCode.Async || IO.concrete(e)._tag === IOOpCode.YieldNow)) {
528
+ } else if (isIO(e) && (IO.concrete(e)._tag === IOTag.Async || IO.concrete(e)._tag === IOTag.YieldNow)) {
528
529
  throw e;
529
530
  } else if (isInterruptedException(e)) {
530
531
  cur = IO.concrete(IO.failCauseNow(Cause.parallel(Cause.halt(e), Cause.interrupt(FiberId.none))));
@@ -622,14 +623,14 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
622
623
  }
623
624
  };
624
625
 
625
- return new WhileLoop(
626
- check,
627
- body,
628
- () => {
629
- //
630
- },
631
- this.id.location,
632
- );
626
+ const io = new IOPrimitive(IOTag.WhileLoop) as any;
627
+ io.i0 = check;
628
+ io.i1 = body;
629
+ io.i2 = () => {
630
+ //
631
+ };
632
+
633
+ return io;
633
634
  } else {
634
635
  return null!;
635
636
  }
@@ -822,7 +823,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
822
823
  getNextSuccessCont() {
823
824
  while (this.stack.hasNext) {
824
825
  const frame = this.stack.pop()!;
825
- if (frame._tag !== IOOpCode.OnFailure) {
826
+ if (frame._tag !== IOTag.OnFailure) {
826
827
  return frame;
827
828
  }
828
829
  }
@@ -831,7 +832,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
831
832
  getNextFailCont() {
832
833
  while (this.stack.hasNext) {
833
834
  const frame = this.stack.pop()!;
834
- if (frame._tag !== IOOpCode.OnSuccess && frame._tag !== IOOpCode.WhileLoop) {
835
+ if (frame._tag !== IOTag.OnSuccess && frame._tag !== IOTag.WhileLoop) {
835
836
  return frame;
836
837
  }
837
838
  }
@@ -41,3 +41,8 @@ export function interrupted(id: FiberId, __tsplusTrace?: string): Fiber<never, n
41
41
  export function succeed<A>(a: A, __tsplusTrace?: string): Fiber<never, A> {
42
42
  return done(Exit.succeed(a));
43
43
  }
44
+
45
+ /**
46
+ * @tsplus static fncts.io.FiberOps unit
47
+ */
48
+ export const unit: Fiber<never, void> = succeed(undefined);