@fncts/io 0.0.41 → 0.0.43

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 (221) hide show
  1. package/Fiber/FiberRuntime.d.ts +2 -2
  2. package/Fiber/definition.d.ts +1 -0
  3. package/FiberSet.d.ts +66 -0
  4. package/Hub/definition.d.ts +3 -0
  5. package/Hub/internal.d.ts +1 -0
  6. package/IO/api/diffFiberRefs.d.ts +7 -0
  7. package/IO/api/timeout.d.ts +5 -0
  8. package/IO/api.d.ts +12 -1
  9. package/IO/definition.d.ts +18 -7
  10. package/IO.d.ts +1 -0
  11. package/Layer/api.d.ts +5 -0
  12. package/Queue/api/dimapIO.d.ts +5 -0
  13. package/Queue/api/filterInputIO.d.ts +1 -1
  14. package/Queue/api/filterOutputIO.d.ts +1 -0
  15. package/Queue/api/operations.d.ts +11 -0
  16. package/Queue/api/zipWithIO.d.ts +1 -0
  17. package/Queue/definition.d.ts +5 -0
  18. package/Queue/internal.d.ts +1 -0
  19. package/STM/definition.d.ts +1 -1
  20. package/Stream/api.d.ts +10 -0
  21. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +2 -8
  22. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  23. package/_cjs/Channel/api/mergeAllWith.cjs +14 -23
  24. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  25. package/_cjs/Channel/api/mergeWith.cjs +4 -16
  26. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  27. package/_cjs/Channel/api.cjs +18 -33
  28. package/_cjs/Channel/api.cjs.map +1 -1
  29. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +2 -8
  30. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  31. package/_cjs/Fiber/FiberRuntime.cjs +86 -75
  32. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  33. package/_cjs/Fiber/definition.cjs.map +1 -1
  34. package/_cjs/FiberSet.cjs +129 -0
  35. package/_cjs/FiberSet.cjs.map +1 -0
  36. package/_cjs/Hub/api.cjs +20 -11
  37. package/_cjs/Hub/api.cjs.map +1 -1
  38. package/_cjs/Hub/definition.cjs +3 -0
  39. package/_cjs/Hub/definition.cjs.map +1 -1
  40. package/_cjs/Hub/internal.cjs +65 -49
  41. package/_cjs/Hub/internal.cjs.map +1 -1
  42. package/_cjs/IO/api/asyncInterrupt.cjs +4 -7
  43. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  44. package/_cjs/IO/api/diffFiberRefs.cjs +17 -0
  45. package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -0
  46. package/_cjs/IO/api/memoize.cjs +7 -4
  47. package/_cjs/IO/api/memoize.cjs.map +1 -1
  48. package/_cjs/IO/api/timeout.cjs +8 -0
  49. package/_cjs/IO/api/timeout.cjs.map +1 -1
  50. package/_cjs/IO/api.cjs +33 -42
  51. package/_cjs/IO/api.cjs.map +1 -1
  52. package/_cjs/IO/definition.cjs +9 -3
  53. package/_cjs/IO/definition.cjs.map +1 -1
  54. package/_cjs/IO/runtime.cjs +3 -6
  55. package/_cjs/IO/runtime.cjs.map +1 -1
  56. package/_cjs/IO.cjs +11 -0
  57. package/_cjs/IO.cjs.map +1 -1
  58. package/_cjs/Layer/api.cjs +9 -5
  59. package/_cjs/Layer/api.cjs.map +1 -1
  60. package/_cjs/Push/api.cjs +1 -4
  61. package/_cjs/Push/api.cjs.map +1 -1
  62. package/_cjs/Queue/api/dimapIO.cjs +28 -10
  63. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  64. package/_cjs/Queue/api/filterInputIO.cjs +21 -9
  65. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  66. package/_cjs/Queue/api/filterOutputIO.cjs +28 -16
  67. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  68. package/_cjs/Queue/api/operations.cjs +20 -0
  69. package/_cjs/Queue/api/operations.cjs.map +1 -1
  70. package/_cjs/Queue/api/zipWithIO.cjs +16 -9
  71. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  72. package/_cjs/Queue/definition.cjs.map +1 -1
  73. package/_cjs/Queue/internal.cjs +84 -54
  74. package/_cjs/Queue/internal.cjs.map +1 -1
  75. package/_cjs/Ref/Derived.cjs +8 -35
  76. package/_cjs/Ref/Derived.cjs.map +1 -1
  77. package/_cjs/Ref/DerivedAll.cjs +8 -35
  78. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  79. package/_cjs/STM/api/core-api.cjs +1 -4
  80. package/_cjs/STM/api/core-api.cjs.map +1 -1
  81. package/_cjs/STM/api.cjs +4 -16
  82. package/_cjs/STM/api.cjs.map +1 -1
  83. package/_cjs/STM/definition.cjs +1 -1
  84. package/_cjs/STM/definition.cjs.map +1 -1
  85. package/_cjs/Schedule/api.cjs +1 -7
  86. package/_cjs/Schedule/api.cjs.map +1 -1
  87. package/_cjs/Sink/api.cjs +1 -7
  88. package/_cjs/Sink/api.cjs.map +1 -1
  89. package/_cjs/Stream/api/zipAllWith.cjs +1 -4
  90. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  91. package/_cjs/Stream/api/zipWithChunks.cjs +1 -4
  92. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  93. package/_cjs/Stream/api.cjs +51 -37
  94. package/_cjs/Stream/api.cjs.map +1 -1
  95. package/_cjs/TRef/definition.cjs +20 -74
  96. package/_cjs/TRef/definition.cjs.map +1 -1
  97. package/_cjs/internal/BackgroundScheduler.cjs +0 -1
  98. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  99. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +2 -8
  100. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  101. package/_mjs/Channel/api/mergeAllWith.mjs +14 -23
  102. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  103. package/_mjs/Channel/api/mergeWith.mjs +4 -16
  104. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  105. package/_mjs/Channel/api.mjs +18 -33
  106. package/_mjs/Channel/api.mjs.map +1 -1
  107. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +2 -8
  108. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  109. package/_mjs/Fiber/FiberRuntime.mjs +86 -75
  110. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  111. package/_mjs/Fiber/definition.mjs.map +1 -1
  112. package/_mjs/FiberSet.mjs +113 -0
  113. package/_mjs/FiberSet.mjs.map +1 -0
  114. package/_mjs/Hub/api.mjs +20 -11
  115. package/_mjs/Hub/api.mjs.map +1 -1
  116. package/_mjs/Hub/definition.mjs +3 -0
  117. package/_mjs/Hub/definition.mjs.map +1 -1
  118. package/_mjs/Hub/internal.mjs +65 -49
  119. package/_mjs/Hub/internal.mjs.map +1 -1
  120. package/_mjs/IO/api/asyncInterrupt.mjs +4 -7
  121. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  122. package/_mjs/IO/api/diffFiberRefs.mjs +9 -0
  123. package/_mjs/IO/api/diffFiberRefs.mjs.map +1 -0
  124. package/_mjs/IO/api/memoize.mjs +7 -4
  125. package/_mjs/IO/api/memoize.mjs.map +1 -1
  126. package/_mjs/IO/api/timeout.mjs +7 -0
  127. package/_mjs/IO/api/timeout.mjs.map +1 -1
  128. package/_mjs/IO/api.mjs +30 -40
  129. package/_mjs/IO/api.mjs.map +1 -1
  130. package/_mjs/IO/definition.mjs +7 -2
  131. package/_mjs/IO/definition.mjs.map +1 -1
  132. package/_mjs/IO/runtime.mjs +3 -6
  133. package/_mjs/IO/runtime.mjs.map +1 -1
  134. package/_mjs/IO.mjs +1 -0
  135. package/_mjs/IO.mjs.map +1 -1
  136. package/_mjs/Layer/api.mjs +8 -5
  137. package/_mjs/Layer/api.mjs.map +1 -1
  138. package/_mjs/Push/api.mjs +1 -4
  139. package/_mjs/Push/api.mjs.map +1 -1
  140. package/_mjs/Queue/api/dimapIO.mjs +28 -10
  141. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  142. package/_mjs/Queue/api/filterInputIO.mjs +21 -9
  143. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  144. package/_mjs/Queue/api/filterOutputIO.mjs +28 -16
  145. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  146. package/_mjs/Queue/api/operations.mjs +18 -0
  147. package/_mjs/Queue/api/operations.mjs.map +1 -1
  148. package/_mjs/Queue/api/zipWithIO.mjs +16 -9
  149. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  150. package/_mjs/Queue/definition.mjs.map +1 -1
  151. package/_mjs/Queue/internal.mjs +84 -54
  152. package/_mjs/Queue/internal.mjs.map +1 -1
  153. package/_mjs/Ref/Derived.mjs +8 -35
  154. package/_mjs/Ref/Derived.mjs.map +1 -1
  155. package/_mjs/Ref/DerivedAll.mjs +8 -35
  156. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  157. package/_mjs/STM/api/core-api.mjs +1 -4
  158. package/_mjs/STM/api/core-api.mjs.map +1 -1
  159. package/_mjs/STM/api.mjs +4 -16
  160. package/_mjs/STM/api.mjs.map +1 -1
  161. package/_mjs/STM/definition.mjs +1 -1
  162. package/_mjs/STM/definition.mjs.map +1 -1
  163. package/_mjs/Schedule/api.mjs +1 -7
  164. package/_mjs/Schedule/api.mjs.map +1 -1
  165. package/_mjs/Sink/api.mjs +1 -7
  166. package/_mjs/Sink/api.mjs.map +1 -1
  167. package/_mjs/Stream/api/zipAllWith.mjs +1 -4
  168. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  169. package/_mjs/Stream/api/zipWithChunks.mjs +1 -4
  170. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  171. package/_mjs/Stream/api.mjs +47 -36
  172. package/_mjs/Stream/api.mjs.map +1 -1
  173. package/_mjs/TRef/definition.mjs +20 -74
  174. package/_mjs/TRef/definition.mjs.map +1 -1
  175. package/_mjs/internal/BackgroundScheduler.mjs +0 -1
  176. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  177. package/_src/Channel/api/mapOutConcurrentIO.ts +5 -5
  178. package/_src/Channel/api/mergeAllWith.ts +9 -9
  179. package/_src/Channel/api/mergeWith.ts +16 -16
  180. package/_src/Channel/api.ts +12 -32
  181. package/_src/Channel/internal/SingleProducerAsyncInput.ts +2 -2
  182. package/_src/Fiber/FiberRuntime.ts +50 -36
  183. package/_src/Fiber/definition.ts +2 -0
  184. package/_src/FiberSet.ts +115 -0
  185. package/_src/Hub/api.ts +15 -6
  186. package/_src/Hub/definition.ts +6 -0
  187. package/_src/Hub/internal.ts +19 -0
  188. package/_src/IO/api/asyncInterrupt.ts +4 -4
  189. package/_src/IO/api/diffFiberRefs.ts +11 -0
  190. package/_src/IO/api/memoize.ts +5 -3
  191. package/_src/IO/api/timeout.ts +8 -0
  192. package/_src/IO/api.ts +32 -19
  193. package/_src/IO/definition.ts +20 -4
  194. package/_src/IO/runtime.ts +3 -6
  195. package/_src/IO.ts +1 -0
  196. package/_src/Layer/api.ts +11 -4
  197. package/_src/Push/api.ts +4 -4
  198. package/_src/Queue/api/dimapIO.ts +25 -0
  199. package/_src/Queue/api/filterInputIO.ts +16 -0
  200. package/_src/Queue/api/filterOutputIO.ts +16 -0
  201. package/_src/Queue/api/operations.ts +20 -0
  202. package/_src/Queue/api/zipWithIO.ts +8 -0
  203. package/_src/Queue/definition.ts +4 -0
  204. package/_src/Queue/internal.ts +32 -0
  205. package/_src/Ref/Derived.ts +18 -20
  206. package/_src/Ref/DerivedAll.ts +18 -21
  207. package/_src/STM/api/core-api.ts +1 -1
  208. package/_src/STM/api.ts +4 -4
  209. package/_src/STM/definition.ts +1 -1
  210. package/_src/Schedule/api.ts +8 -8
  211. package/_src/Sink/api.ts +8 -8
  212. package/_src/Stream/api/zipAllWith.ts +4 -4
  213. package/_src/Stream/api/zipWithChunks.ts +4 -4
  214. package/_src/Stream/api.ts +75 -22
  215. package/_src/TRef/definition.ts +33 -36
  216. package/_src/global.ts +4 -0
  217. package/_src/index.ts +1 -0
  218. package/_src/internal/BackgroundScheduler.ts +0 -1
  219. package/global.d.ts +4 -0
  220. package/index.d.ts +1 -0
  221. package/package.json +4 -4
@@ -42,13 +42,13 @@ export class RevertFlags {
42
42
  constructor(patch, trace) {
43
43
  this.patch = patch;
44
44
  this.trace = trace;
45
- this._tag = 14 /* IOTag.RevertFlags */;
45
+ this._ioOpCode = 14 /* IOTag.RevertFlags */;
46
46
  }
47
47
  }
48
48
  export class UpdateTrace {
49
49
  constructor(trace) {
50
50
  this.trace = trace;
51
- this._tag = 15 /* IOTag.UpdateTrace */;
51
+ this._ioOpCode = 15 /* IOTag.UpdateTrace */;
52
52
  }
53
53
  }
54
54
  /**
@@ -79,14 +79,14 @@ export class FiberRuntime {
79
79
  ask(f) {
80
80
  return tsplus_module_4.defer(() => {
81
81
  const future = tsplus_module_3.unsafeMake(this.fiberId);
82
- this.tell(tsplus_module_6.stateful((fiber, status) => tsplus_module_5.unsafeDone(tsplus_module_4.succeed(() => f(fiber, status), fileName_1 + ":76:86"), fileName_1 + ":76:75")(future)));
83
- return tsplus_module_5.wait(future, fileName_1 + ":78:20");
84
- }, fileName_1 + ":73:20");
82
+ this.tell(tsplus_module_6.stateful((fiber, status) => tsplus_module_5.unsafeDone(tsplus_module_4.succeed(() => f(fiber, status), fileName_1 + ":78:86"), fileName_1 + ":78:75")(future)));
83
+ return tsplus_module_5.wait(future, fileName_1 + ":80:20");
84
+ }, fileName_1 + ":75:20");
85
85
  }
86
86
  get await() {
87
87
  return tsplus_module_4.async(cb => this.tell(tsplus_module_6.stateful((fiber, _) => {
88
- if (fiber._exitValue !== null) cb(tsplus_module_4.succeedNow(fiber.exitValue(), fileName_1 + ":87:60"));else fiber.addObserver(exit => cb(tsplus_module_4.succeedNow(exit, fileName_1 + ":88:62")));
89
- })), this.id, fileName_1 + ":83:20");
88
+ if (fiber._exitValue !== null) cb(tsplus_module_4.succeedNow(fiber.exitValue(), fileName_1 + ":89:60"));else fiber.addObserver(exit => cb(tsplus_module_4.succeedNow(exit, fileName_1 + ":90:62")));
89
+ })), this.id, fileName_1 + ":85:20");
90
90
  }
91
91
  get children() {
92
92
  return this.ask(fiber => tsplus_module_7.from(fiber.getChildren()));
@@ -104,9 +104,9 @@ export class FiberRuntime {
104
104
  parentFiber.setFiberRefs(updatedFiberRefs);
105
105
  return tsplus_module_4.flatMap(childRuntimeFlags => {
106
106
  const patch = tsplus_module_10.exclude(tsplus_module_10.exclude(tsplus_module_9.diff(parentRuntimeFlags, childRuntimeFlags), 64 /* RuntimeFlag.WindDown */), 1 /* RuntimeFlag.Interruption */);
107
- return tsplus_module_4.updateRuntimeFlags(patch, fileName_1 + ":120:37");
108
- }, fileName_1 + ":114:39")(this.runtimeFlags);
109
- }, fileName_1 + ":104:31");
107
+ return tsplus_module_4.updateRuntimeFlags(patch, fileName_1 + ":122:37");
108
+ }, fileName_1 + ":116:39")(this.runtimeFlags);
109
+ }, fileName_1 + ":106:31");
110
110
  }
111
111
  get runtimeFlags() {
112
112
  return this.ask((state, status) => {
@@ -117,13 +117,13 @@ export class FiberRuntime {
117
117
  return tsplus_module_4.succeed(() => {
118
118
  const cause = tsplus_module_11.interrupt(fiberId);
119
119
  this.tell(tsplus_module_6.interruptSignal(cause));
120
- }, fileName_1 + ":133:22");
120
+ }, fileName_1 + ":135:22");
121
121
  }
122
122
  getSupervisor() {
123
123
  return this.getFiberRef(tsplus_module_12.currentSupervisor);
124
124
  }
125
125
  get poll() {
126
- return tsplus_module_4.succeed(() => tsplus_module_13.fromNullable(this.exitValue()), fileName_1 + ":144:22");
126
+ return tsplus_module_4.succeed(() => tsplus_module_13.fromNullable(this.exitValue()), fileName_1 + ":146:22");
127
127
  }
128
128
  run() {
129
129
  this.drainQueueOnCurrentThread();
@@ -171,7 +171,7 @@ export class FiberRuntime {
171
171
  case 0 /* FiberMessageTag.InterruptSignal */:
172
172
  {
173
173
  this.processNewInterruptSignal(message.cause);
174
- cur = tsplus_module_9.interruptible(runtimeFlags) ? tsplus_module_4.failCause(() => message.cause, fileName_1 + ":207:58") : cur;
174
+ cur = tsplus_module_9.interruptible(runtimeFlags) ? tsplus_module_4.failCause(() => message.cause, fileName_1 + ":209:58") : cur;
175
175
  break;
176
176
  }
177
177
  case 1 /* FiberMessageTag.GenStackTrace */:
@@ -208,7 +208,7 @@ export class FiberRuntime {
208
208
  try {
209
209
  let effect;
210
210
  if (tsplus_module_9.interruptible(this._runtimeFlags) && this.isInterrupted()) {
211
- effect = tsplus_module_4.failCause(() => this.getInterruptedCause(), fileName_1 + ":245:30");
211
+ effect = tsplus_module_4.failCause(() => this.getInterruptedCause(), fileName_1 + ":247:30");
212
212
  } else {
213
213
  effect = effect0;
214
214
  }
@@ -223,15 +223,15 @@ export class FiberRuntime {
223
223
  finalExit = exit;
224
224
  this.setExitValue(exit);
225
225
  } else {
226
- this.tell(tsplus_module_6.resume(tsplus_module_4.fromExitNow(exit, fileName_1 + ":263:59")));
226
+ this.tell(tsplus_module_6.resume(tsplus_module_4.fromExitNow(exit, fileName_1 + ":265:59")));
227
227
  }
228
228
  effect = null;
229
229
  } else {
230
- effect = tsplus_module_4.flatMap(() => tsplus_module_4.fromExitNow(exit, fileName_1 + ":268:63"), this.id.location)(interruption);
230
+ effect = tsplus_module_4.flatMap(() => tsplus_module_4.fromExitNow(exit, fileName_1 + ":270:63"), this.id.location)(interruption);
231
231
  }
232
232
  } catch (e) {
233
233
  if (isIO(e)) {
234
- if (e._tag === 12 /* IOTag.YieldNow */) {
234
+ if (e._ioOpCode === 12 /* IOTag.YieldNow */) {
235
235
  if (tsplus_module_9.cooperativeYielding(this._runtimeFlags)) {
236
236
  this.tell(tsplus_module_6.yieldNow);
237
237
  this.tell(tsplus_module_6.resume(tsplus_module_4.unit));
@@ -239,10 +239,10 @@ export class FiberRuntime {
239
239
  } else {
240
240
  effect = tsplus_module_4.unit;
241
241
  }
242
- } else if (e._tag === 3 /* IOTag.Async */) {
242
+ } else if (e._ioOpCode === 3 /* IOTag.Async */) {
243
243
  effect = null;
244
244
  } else {
245
- throw new Error(`Unhandled op ${e._tag}`);
245
+ throw new Error(`Unhandled op ${e._ioOpCode}`);
246
246
  }
247
247
  } else {
248
248
  throw e;
@@ -273,13 +273,13 @@ export class FiberRuntime {
273
273
  cur = tsplus_module_4.flatMap(() => oldCur, trace)(tsplus_module_4.yieldNow);
274
274
  }
275
275
  try {
276
- switch (cur._tag) {
276
+ switch (cur._ioOpCode) {
277
277
  case 2 /* IOTag.Sync */:
278
278
  {
279
279
  const value = cur.i0();
280
280
  const cont = this.getNextSuccessCont();
281
281
  if (cont) {
282
- switch (cont._tag) {
282
+ switch (cont._ioOpCode) {
283
283
  case 5 /* IOTag.OnSuccess */:
284
284
  {
285
285
  cur = cont.i1(value);
@@ -305,9 +305,9 @@ export class FiberRuntime {
305
305
  {
306
306
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
307
307
  if (tsplus_module_9.interruptible(this._runtimeFlags) && this.isInterrupted()) {
308
- cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":348:54");
308
+ cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":350:54");
309
309
  } else {
310
- cur = tsplus_module_4.succeedNow(value, fileName_1 + ":350:52");
310
+ cur = tsplus_module_4.succeedNow(value, fileName_1 + ":352:52");
311
311
  }
312
312
  break;
313
313
  }
@@ -319,7 +319,7 @@ export class FiberRuntime {
319
319
  }
320
320
  }
321
321
  } else {
322
- return tsplus_module_16.succeed(value, fileName_1 + ":361:34");
322
+ return tsplus_module_16.succeed(value, fileName_1 + ":363:34");
323
323
  }
324
324
  break;
325
325
  }
@@ -347,7 +347,7 @@ export class FiberRuntime {
347
347
  cur = cur.i1(oldRuntimeFlags);
348
348
  } else {
349
349
  if (tsplus_module_9.interruptible(newRuntimeFlags) && this.isInterrupted()) {
350
- cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":387:50");
350
+ cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":389:50");
351
351
  } else {
352
352
  this.patchRuntimeFlags(this._runtimeFlags, updateFlags);
353
353
  const revertFlags = tsplus_module_9.diff(newRuntimeFlags, oldRuntimeFlags);
@@ -359,7 +359,7 @@ export class FiberRuntime {
359
359
  }
360
360
  case 9 /* IOTag.GenerateStackTrace */:
361
361
  {
362
- cur = tsplus_module_4.succeedNow(this.generateStackTrace(), fileName_1 + ":398:44");
362
+ cur = tsplus_module_4.succeedNow(this.generateStackTrace(), fileName_1 + ":400:44");
363
363
  break;
364
364
  }
365
365
  case 10 /* IOTag.Stateful */:
@@ -372,7 +372,7 @@ export class FiberRuntime {
372
372
  const oldCur = cur;
373
373
  const cont = this.getNextSuccessCont();
374
374
  if (cont) {
375
- switch (cont._tag) {
375
+ switch (cont._ioOpCode) {
376
376
  case 5 /* IOTag.OnSuccess */:
377
377
  {
378
378
  cur = cont.i1(oldCur.i0);
@@ -398,7 +398,7 @@ export class FiberRuntime {
398
398
  {
399
399
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
400
400
  if (tsplus_module_9.interruptible(this._runtimeFlags) && this.isInterrupted()) {
401
- cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":431:54");
401
+ cur = tsplus_module_4.failCauseNow(this.getInterruptedCause(), fileName_1 + ":433:54");
402
402
  }
403
403
  break;
404
404
  }
@@ -410,7 +410,7 @@ export class FiberRuntime {
410
410
  }
411
411
  }
412
412
  } else {
413
- return tsplus_module_16.succeed(oldCur.i0, fileName_1 + ":442:34");
413
+ return tsplus_module_16.succeed(oldCur.i0, fileName_1 + ":444:34");
414
414
  }
415
415
  break;
416
416
  }
@@ -419,14 +419,14 @@ export class FiberRuntime {
419
419
  const cause = cur.i0();
420
420
  const cont = this.getNextFailCont();
421
421
  if (cont) {
422
- switch (cont._tag) {
422
+ switch (cont._ioOpCode) {
423
423
  case 6 /* IOTag.OnFailure */:
424
424
  case 4 /* IOTag.OnSuccessAndFailure */:
425
425
  {
426
426
  if (!(tsplus_module_9.interruptible(this._runtimeFlags) && this.isInterrupted())) {
427
427
  cur = cont.i1(cause);
428
428
  } else {
429
- cur = tsplus_module_4.failCauseNow(tsplus_module_11.stripFailures(cause), fileName_1 + ":456:54");
429
+ cur = tsplus_module_4.failCauseNow(tsplus_module_11.stripFailures(cause), fileName_1 + ":458:54");
430
430
  }
431
431
  break;
432
432
  }
@@ -436,9 +436,9 @@ export class FiberRuntime {
436
436
  if (tsplus_module_9.interruptible(this._runtimeFlags) && this.isInterrupted()) {
437
437
  const interruptedCause = this.getInterruptedCause();
438
438
  if (tsplus_module_11.contains(interruptedCause)(cause)) {
439
- cur = tsplus_module_4.failCauseNow(cause, fileName_1 + ":465:56");
439
+ cur = tsplus_module_4.failCauseNow(cause, fileName_1 + ":467:56");
440
440
  } else {
441
- cur = tsplus_module_4.failCauseNow(tsplus_module_11.sequential(cause, this.getInterruptedCause()), fileName_1 + ":467:56");
441
+ cur = tsplus_module_4.failCauseNow(tsplus_module_11.sequential(cause, this.getInterruptedCause()), fileName_1 + ":469:56");
442
442
  }
443
443
  }
444
444
  break;
@@ -451,7 +451,7 @@ export class FiberRuntime {
451
451
  }
452
452
  }
453
453
  } else {
454
- return tsplus_module_16.failCause(cause, fileName_1 + ":479:36");
454
+ return tsplus_module_16.failCause(cause, fileName_1 + ":481:36");
455
455
  }
456
456
  break;
457
457
  }
@@ -480,53 +480,64 @@ export class FiberRuntime {
480
480
  }
481
481
  case 13 /* IOTag.Commit */:
482
482
  {
483
- cur = tsplus_module_17.atomically(cur, fileName_1 + ":504:34");
483
+ cur = tsplus_module_17.atomically(cur, fileName_1 + ":506:34");
484
484
  break;
485
485
  }
486
- case "Just":
486
+ case 16 /* IOTag.External */:
487
487
  {
488
- cur = tsplus_module_4.succeedNow(cur.value, fileName_1 + ":508:44");
488
+ cur = cur.toIO;
489
489
  break;
490
490
  }
491
- case "Nothing":
491
+ case null:
492
492
  {
493
- cur = tsplus_module_4.failNow(new tsplus_module_14.NoSuchElementError(), fileName_1 + ":512:41");
494
- break;
495
- }
496
- case "Left":
497
- {
498
- cur = tsplus_module_4.failNow(cur.left, fileName_1 + ":516:41");
499
- break;
500
- }
501
- case "Right":
502
- {
503
- cur = tsplus_module_4.succeedNow(cur.right, fileName_1 + ":520:44");
504
- break;
505
- }
506
- case "Failure" /* ExitTag.Failure */:
507
- {
508
- cur = tsplus_module_4.failCauseNow(cur.cause, fileName_1 + ":524:46");
509
- break;
510
- }
511
- case "Success" /* ExitTag.Success */:
512
- {
513
- cur = tsplus_module_4.succeedNow(cur.value, fileName_1 + ":528:44");
514
- break;
515
- }
516
- case "Tag":
517
- {
518
- cur = tsplus_module_18.service(cur, fileName_1 + ":532:41");
493
+ switch (cur._tag) {
494
+ case "Just" /* MaybeTag.Just */:
495
+ {
496
+ cur = tsplus_module_4.succeedNow(cur.value, fileName_1 + ":516:48");
497
+ break;
498
+ }
499
+ case "Nothing" /* MaybeTag.Nothing */:
500
+ {
501
+ cur = tsplus_module_4.failNow(new tsplus_module_14.NoSuchElementError(), fileName_1 + ":520:45");
502
+ break;
503
+ }
504
+ case "Left" /* EitherTag.Left */:
505
+ {
506
+ cur = tsplus_module_4.failNow(cur.left, fileName_1 + ":524:45");
507
+ break;
508
+ }
509
+ case "Right" /* EitherTag.Right */:
510
+ {
511
+ cur = tsplus_module_4.succeedNow(cur.right, fileName_1 + ":528:48");
512
+ break;
513
+ }
514
+ case "Failure" /* ExitTag.Failure */:
515
+ {
516
+ cur = tsplus_module_4.failCauseNow(cur.cause, fileName_1 + ":532:50");
517
+ break;
518
+ }
519
+ case "Success" /* ExitTag.Success */:
520
+ {
521
+ cur = tsplus_module_4.succeedNow(cur.value, fileName_1 + ":536:48");
522
+ break;
523
+ }
524
+ case "Tag":
525
+ {
526
+ cur = tsplus_module_18.service(cur, fileName_1 + ":540:45");
527
+ break;
528
+ }
529
+ }
519
530
  }
520
531
  }
521
532
  } catch (e) {
522
533
  if (isIOError(e)) {
523
- cur = tsplus_module_4.failCauseNow(e.cause, fileName_1 + ":537:44");
524
- } else if (isIO(e) && (e._tag === 3 /* IOTag.Async */ || e._tag === 12 /* IOTag.YieldNow */)) {
534
+ cur = tsplus_module_4.failCauseNow(e.cause, fileName_1 + ":548:44");
535
+ } else if (isIO(e) && (e._ioOpCode === 3 /* IOTag.Async */ || e._ioOpCode === 12 /* IOTag.YieldNow */)) {
525
536
  throw e;
526
537
  } else if (tsplus_module_14.isInterruptedException(e)) {
527
- cur = tsplus_module_4.failCauseNow(tsplus_module_11.parallel(tsplus_module_11.halt(e), tsplus_module_11.interrupt(tsplus_module_19.none)), fileName_1 + ":541:44");
538
+ cur = tsplus_module_4.failCauseNow(tsplus_module_11.parallel(tsplus_module_11.halt(e), tsplus_module_11.interrupt(tsplus_module_19.none)), fileName_1 + ":555:44");
528
539
  } else {
529
- cur = tsplus_module_4.failCauseNow(tsplus_module_11.halt(e, tsplus_module_21.make(this.fiberId, tsplus_module_7.make(tsplus_module_20.parse(lastTrace)))), fileName_1 + ":543:44");
540
+ cur = tsplus_module_4.failCauseNow(tsplus_module_11.halt(e, tsplus_module_21.make(this.fiberId, tsplus_module_7.make(tsplus_module_20.parse(lastTrace)))), fileName_1 + ":557:44");
530
541
  }
531
542
  }
532
543
  }
@@ -624,7 +635,7 @@ export class FiberRuntime {
624
635
  try {
625
636
  asyncRegister(callback);
626
637
  } catch (e) {
627
- callback(tsplus_module_4.failCauseNow(tsplus_module_11.halt(e), fileName_1 + ":667:31"));
638
+ callback(tsplus_module_4.failCauseNow(tsplus_module_11.halt(e), fileName_1 + ":681:31"));
628
639
  }
629
640
  }
630
641
  setFiberRef(fiberRef, value) {
@@ -647,7 +658,7 @@ export class FiberRuntime {
647
658
  {
648
659
  this.processNewInterruptSignal(fiberMessage.cause);
649
660
  if (this.asyncInterruptor !== null) {
650
- this.asyncInterruptor(tsplus_module_4.failCause(() => fiberMessage.cause, fileName_1 + ":694:45"));
661
+ this.asyncInterruptor(tsplus_module_4.failCause(() => fiberMessage.cause, fileName_1 + ":708:45"));
651
662
  this.asyncInterruptor = null;
652
663
  }
653
664
  return 0 /* EvaluationSignal.Continue */;
@@ -753,14 +764,14 @@ export class FiberRuntime {
753
764
  get trace() {
754
765
  return tsplus_module_4.defer(() => {
755
766
  const future = tsplus_module_3.unsafeMake(this.fiberId);
756
- this.tell(tsplus_module_6.genStackTrace(trace => tsplus_module_5.unsafeDone(tsplus_module_4.succeedNow(trace, fileName_1 + ":831:86"), fileName_1 + ":831:72")(future)));
757
- return tsplus_module_5.wait(future, fileName_1 + ":832:20");
758
- }, fileName_1 + ":829:20");
767
+ this.tell(tsplus_module_6.genStackTrace(trace => tsplus_module_5.unsafeDone(tsplus_module_4.succeedNow(trace, fileName_1 + ":845:86"), fileName_1 + ":845:72")(future)));
768
+ return tsplus_module_5.wait(future, fileName_1 + ":846:20");
769
+ }, fileName_1 + ":843:20");
759
770
  }
760
771
  getNextSuccessCont() {
761
772
  while (this.stack.hasNext) {
762
773
  const frame = this.stack.pop();
763
- if (frame._tag !== 6 /* IOTag.OnFailure */) {
774
+ if (frame._ioOpCode !== 6 /* IOTag.OnFailure */) {
764
775
  return frame;
765
776
  }
766
777
  }
@@ -768,7 +779,7 @@ export class FiberRuntime {
768
779
  getNextFailCont() {
769
780
  while (this.stack.hasNext) {
770
781
  const frame = this.stack.pop();
771
- if (frame._tag !== 5 /* IOTag.OnSuccess */ && frame._tag !== 11 /* IOTag.WhileLoop */) {
782
+ if (frame._ioOpCode !== 5 /* IOTag.OnSuccess */ && frame._ioOpCode !== 11 /* IOTag.WhileLoop */) {
772
783
  return frame;
773
784
  }
774
785
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FiberRuntime.mjs","names":["isIOError","Trace","FiberTypeId","FiberVariance","StackTraceBuilder","Done","Suspended","Running","LinkedQueue","IOPrimitive","isIO","RevertFlags","constructor","patch","trace","_tag","UpdateTrace","FiberRuntime","fiberId","fiberRefs0","runtimeFlags0","_a","queue","_children","observers","tsplus_module_1","make","running","stack","tsplus_module_2","Stack","asyncInterruptor","asyncTrace","asyncBlockinOn","_exitValue","location","_fiberRefs","_runtimeFlags","id","ask","f","tsplus_module_4","defer","future","tsplus_module_3","unsafeMake","tell","tsplus_module_6","stateful","fiber","status","tsplus_module_5","unsafeDone","succeed","fileName_1","wait","await","async","cb","_","succeedNow","exitValue","addObserver","exit","children","tsplus_module_7","from","getChildren","fiberRefs","getFiberRefs","inheritAll","withFiberRuntime","parentFiber","parentStatus","parentFiberId","parentFiberRefs","parentRuntimeFlags","runtimeFlags","childFiberRefs","updatedFiberRefs","tsplus_module_8","join","setFiberRefs","flatMap","childRuntimeFlags","tsplus_module_10","exclude","tsplus_module_9","diff","updateRuntimeFlags","state","interruptAsFork","cause","tsplus_module_11","interrupt","interruptSignal","getSupervisor","getFiberRef","tsplus_module_12","currentSupervisor","poll","tsplus_module_13","fromNullable","run","drainQueueOnCurrentThread","recurse","evaluationSignal","currentFiber","isEmpty","evaluateMessageWhileSuspended","dequeue","drainQueueLaterOnExecutor","currentScheduler","scheduleTask","drainQueueWhileRunning","lastTrace","cur0","cur","message","processNewInterruptSignal","interruptible","failCause","oldCur","stackTrace","onTrace","undefined","onFiber","tsplus_module_14","IllegalStateError","yieldNow","evaluateEffect","effect0","unsafeOnResume","effect","isInterrupted","getInterruptedCause","finalExit","runLoop","enable","interruption","interruptAllChildren","setExitValue","resume","fromExitNow","e","cooperativeYielding","unit","Error","unsafeOnSuspend","ops","unsafeOnEffect","nextTrace","currentMaxFiberOps","value","i0","cont","getNextSuccessCont","i1","i2","push","patchRuntimeFlags","failCauseNow","tsplus_module_16","initiateAsync","updateFlags","oldRuntimeFlags","newRuntimeFlags","revertFlags","generateStackTrace","getNextFailCont","stripFailures","interruptedCause","contains","sequential","iterate","check","body","tsplus_module_17","atomically","failNow","NoSuchElementError","left","right","tsplus_module_18","service","isInterruptedException","parallel","halt","tsplus_module_19","none","tsplus_module_21","tsplus_module_20","parse","tsplus_module_22","fiberRef","tsplus_module_23","has","unsafeGet","head","tsplus_module_24","initial","enqueue","observer","cons","Set","sendInterruptSignalToAllChildren","size","told","child","iterator","Symbol","next","done","io","asyncRegister","alreadyCalled","callback","setFiberRef","updateAs","addInterruptedCause","oldSC","fiberMessage","builder","clone","hasNext","append","pop","result","empty","start","startFork","updateFiberRef","removeObserver","tsplus_module_25","filter","addChild","add","removeChild","delete","scope","tsplus_module_26","log","overrideLogLevel","logLevel","tsplus_module_27","getOrElse","currentLogLevel","spans","currentLogSpan","annotations","currentLogAnnotations","contextMap","tsplus_module_30","filterLogLevel","level","tsplus_module_28","gte","Info","map","s","console","tsplus_module_29","defaultString","deleteFiberRef","ref","remove","genStackTrace","frame","isFatal","t","currentIsFatal","apply"],"sources":["../../_src/Fiber/FiberRuntime.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"FiberRuntime.mjs","names":["isIOError","Trace","FiberTypeId","FiberVariance","StackTraceBuilder","Done","Suspended","Running","LinkedQueue","IOPrimitive","isIO","RevertFlags","constructor","patch","trace","_ioOpCode","UpdateTrace","FiberRuntime","fiberId","fiberRefs0","runtimeFlags0","_a","_tag","queue","_children","observers","tsplus_module_1","make","running","stack","tsplus_module_2","Stack","asyncInterruptor","asyncTrace","asyncBlockinOn","_exitValue","location","_fiberRefs","_runtimeFlags","id","ask","f","tsplus_module_4","defer","future","tsplus_module_3","unsafeMake","tell","tsplus_module_6","stateful","fiber","status","tsplus_module_5","unsafeDone","succeed","fileName_1","wait","await","async","cb","_","succeedNow","exitValue","addObserver","exit","children","tsplus_module_7","from","getChildren","fiberRefs","getFiberRefs","inheritAll","withFiberRuntime","parentFiber","parentStatus","parentFiberId","parentFiberRefs","parentRuntimeFlags","runtimeFlags","childFiberRefs","updatedFiberRefs","tsplus_module_8","join","setFiberRefs","flatMap","childRuntimeFlags","tsplus_module_10","exclude","tsplus_module_9","diff","updateRuntimeFlags","state","interruptAsFork","cause","tsplus_module_11","interrupt","interruptSignal","getSupervisor","getFiberRef","tsplus_module_12","currentSupervisor","poll","tsplus_module_13","fromNullable","run","drainQueueOnCurrentThread","recurse","evaluationSignal","currentFiber","isEmpty","evaluateMessageWhileSuspended","dequeue","drainQueueLaterOnExecutor","currentScheduler","scheduleTask","drainQueueWhileRunning","lastTrace","cur0","cur","message","processNewInterruptSignal","interruptible","failCause","oldCur","stackTrace","onTrace","undefined","onFiber","tsplus_module_14","IllegalStateError","yieldNow","evaluateEffect","effect0","unsafeOnResume","effect","isInterrupted","getInterruptedCause","finalExit","runLoop","enable","interruption","interruptAllChildren","setExitValue","resume","fromExitNow","e","cooperativeYielding","unit","Error","unsafeOnSuspend","ops","unsafeOnEffect","nextTrace","currentMaxFiberOps","value","i0","cont","getNextSuccessCont","i1","i2","push","patchRuntimeFlags","failCauseNow","tsplus_module_16","initiateAsync","updateFlags","oldRuntimeFlags","newRuntimeFlags","revertFlags","generateStackTrace","getNextFailCont","stripFailures","interruptedCause","contains","sequential","iterate","check","body","tsplus_module_17","atomically","toIO","failNow","NoSuchElementError","left","right","tsplus_module_18","service","isInterruptedException","parallel","halt","tsplus_module_19","none","tsplus_module_21","tsplus_module_20","parse","tsplus_module_22","fiberRef","tsplus_module_23","has","unsafeGet","head","tsplus_module_24","initial","enqueue","observer","cons","Set","sendInterruptSignalToAllChildren","size","told","child","iterator","Symbol","next","done","io","asyncRegister","alreadyCalled","callback","setFiberRef","updateAs","addInterruptedCause","oldSC","fiberMessage","builder","clone","hasNext","append","pop","result","empty","start","startFork","updateFiberRef","removeObserver","tsplus_module_25","filter","addChild","add","removeChild","delete","scope","tsplus_module_26","log","overrideLogLevel","logLevel","tsplus_module_27","getOrElse","currentLogLevel","spans","currentLogSpan","annotations","currentLogAnnotations","contextMap","tsplus_module_30","filterLogLevel","level","tsplus_module_28","gte","Info","map","s","console","tsplus_module_29","defaultString","deleteFiberRef","ref","remove","genStackTrace","frame","isFatal","t","currentIsFatal","apply"],"sources":["../../_src/Fiber/FiberRuntime.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":["IterableWeakSet","FiberVariance","Symbol","for","FiberTypeId","Fiber","SyntheticFiber","constructor","id","wait","children","inheritAll","poll","interruptAsFork","_tag","_a","await","concrete","_fiber","isFiber","u","tsplus_module_1","isObject","_roots"],"sources":["../../_src/Fiber/definition.ts"],"sourcesContent":[null],"mappings":";;AAKA,SAASA,eAAe,QAAQ,6CAA6C;AAE7E,OAAO,MAAMC,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,yBAAyB,CAAC;AAGlE,OAAO,MAAMC,WAAW,gBAAGF,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAmBvD,OAAO,MAAME,KAAK,GAAa,EAAE;AAgEjC,OAAM,MAAOC,cAAc;EAWzBC,YACWC,EAAW,EACpBC,IAAqB,EACZC,QAA4C,EAC5CC,UAAqB,EACrBC,IAA4B,EAC5BC,eAAgD;IALhD,KAAAL,EAAE,GAAFA,EAAE;IAEF,KAAAE,QAAQ,GAARA,QAAQ;IACR,KAAAC,UAAU,GAAVA,UAAU;IACV,KAAAC,IAAI,GAAJA,IAAI;IACJ,KAAAC,eAAe,GAAfA,eAAe;IAhBjB,KAAAC,IAAI,GAAG,gBAAgB;IAEvB,KAAAC,EAAA,CAAa,GAAgBX,WAAW;IAgB/C,IAAI,CAACY,KAAK,GAAGP,IAAI;EACnB;;KAjBUL,WAAW;AAsBvB;;;;AAIA,OAAM,SAAUa,QAAQA,CAAOC,MAAmB;EAChD;AAAA;AAGF,OAAM,SAAUC,OAAOA,CAACC,CAAU;EAChC,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIhB,WAAW,IAAIgB,CAAC;AACxC;AAEA;;;AAGA,OAAO,MAAMG,MAAM,gBAA4C,IAAIvB,eAAe,EAAE"}
1
+ {"version":3,"file":"definition.mjs","names":["IterableWeakSet","FiberVariance","Symbol","for","FiberTypeId","Fiber","SyntheticFiber","constructor","id","wait","children","inheritAll","poll","interruptAsFork","_tag","_a","await","concrete","_fiber","isFiber","u","tsplus_module_1","isObject","_roots"],"sources":["../../_src/Fiber/definition.ts"],"sourcesContent":[null],"mappings":";;AAKA,SAASA,eAAe,QAAQ,6CAA6C;AAE7E,OAAO,MAAMC,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,yBAAyB,CAAC;AAGlE,OAAO,MAAMC,WAAW,gBAAGF,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAmBvD,OAAO,MAAME,KAAK,GAAa,EAAE;AAkEjC,OAAM,MAAOC,cAAc;EAWzBC,YACWC,EAAW,EACpBC,IAAqB,EACZC,QAA4C,EAC5CC,UAAqB,EACrBC,IAA4B,EAC5BC,eAAgD;IALhD,KAAAL,EAAE,GAAFA,EAAE;IAEF,KAAAE,QAAQ,GAARA,QAAQ;IACR,KAAAC,UAAU,GAAVA,UAAU;IACV,KAAAC,IAAI,GAAJA,IAAI;IACJ,KAAAC,eAAe,GAAfA,eAAe;IAhBjB,KAAAC,IAAI,GAAG,gBAAgB;IAEvB,KAAAC,EAAA,CAAa,GAAgBX,WAAW;IAgB/C,IAAI,CAACY,KAAK,GAAGP,IAAI;EACnB;;KAjBUL,WAAW;AAsBvB;;;;AAIA,OAAM,SAAUa,QAAQA,CAAOC,MAAmB;EAChD;AAAA;AAGF,OAAM,SAAUC,OAAOA,CAACC,CAAU;EAChC,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIhB,WAAW,IAAIgB,CAAC;AACxC;AAEA;;;AAGA,OAAO,MAAMG,MAAM,gBAA4C,IAAIvB,eAAe,EAAE"}
@@ -0,0 +1,113 @@
1
+ var _a;
2
+ const fileName_1 = "(@fncts/io) src/FiberSet.ts";
3
+ import * as tsplus_module_1 from "@fncts/io/Future/constructors";
4
+ import * as tsplus_module_2 from "@fncts/io/IO/api";
5
+ import * as tsplus_module_3 from "@fncts/io/IO/api/acquireRelease";
6
+ import * as tsplus_module_4 from "@fncts/base/data/Exit/definition";
7
+ import * as tsplus_module_5 from "@fncts/base/data/Cause/api";
8
+ import * as tsplus_module_6 from "@fncts/io/Future/api";
9
+ import * as tsplus_module_7 from "@fncts/io/IO/runtime";
10
+ import * as tsplus_module_8 from "@fncts/io/IO/api/forkDaemon";
11
+ import * as tsplus_module_9 from "@fncts/io/Fiber/api/interrupt";
12
+ export const unsafeMake = unsafeMake_1;
13
+ export const make = make_1;
14
+ export const unsafeAdd = unsafeAdd_1;
15
+ export const add = add_1;
16
+ export const runtime = runtime_1;
17
+ export const clear = clear_1;
18
+ export const FiberSetTypeId = /*#__PURE__*/Symbol.for("fncts.io.FiberSet");
19
+ /**
20
+ * @tsplus type fncts.io.FiberSet
21
+ * @tsplus companion fncts.io.FiberSetOps
22
+ */
23
+ export class FiberSet {
24
+ constructor(backing, future) {
25
+ this.backing = backing;
26
+ this.future = future;
27
+ this[_a] = FiberSetTypeId;
28
+ }
29
+ }
30
+ _a = FiberSetTypeId;
31
+ /**
32
+ * @tsplus static fncts.io.FiberSetOps unsafeMake
33
+ */
34
+ function unsafeMake_1(backing, future) {
35
+ return new FiberSet(backing, future);
36
+ }
37
+ /**
38
+ * @tsplus static fncts.io.FiberSetOps make
39
+ */
40
+ function make_1() {
41
+ return tsplus_module_3.acquireRelease(() => tsplus_module_2.map(future => unsafeMake_1(new Set(), future), fileName_1 + ":28:38")(tsplus_module_1.make(fileName_1 + ":28:16")), fiberSet => clear_1(fiberSet), fileName_1 + ":27:27");
42
+ }
43
+ /**
44
+ * @tsplus static fncts.io.FiberSetOps makeRuntime
45
+ */
46
+ export function makeRuntime() {
47
+ return tsplus_module_2.flatMap(fiberSet => runtime_1()(fiberSet), fileName_1 + ":41:30")(make_1());
48
+ }
49
+ /**
50
+ * @tsplus pipeable fncts.io.FiberSet unsafeAdd
51
+ */
52
+ function unsafeAdd_1(fiber) {
53
+ return self => {
54
+ if (self.backing.has(fiber)) {
55
+ return;
56
+ }
57
+ self.backing.add(fiber);
58
+ fiber.addObserver(exit => {
59
+ self.backing.delete(fiber);
60
+ if (tsplus_module_4.isFailure(exit) && !tsplus_module_5.isInterruptedOnly(exit.cause)) {
61
+ tsplus_module_6.unsafeDone(exit, fileName_1 + ":56:31")(self.future);
62
+ }
63
+ });
64
+ };
65
+ }
66
+ /**
67
+ * @tsplus pipeable fncts.io.FiberSet add
68
+ */
69
+ function add_1(fiber) {
70
+ return self => tsplus_module_2.succeed(() => unsafeAdd_1(fiber)(self), fileName_1 + ":66:49");
71
+ }
72
+ /**
73
+ * @tsplus pipeable fncts.io.FiberSet runtime
74
+ */
75
+ function runtime_1() {
76
+ return self => {
77
+ return tsplus_module_2.map(runtime => {
78
+ const runFork = runtime.unsafeRunFiber;
79
+ return io => {
80
+ const fiber = runFork(io, fileName_1 + ":79:30");
81
+ unsafeAdd_1(fiber)(self);
82
+ return fiber;
83
+ };
84
+ }, fileName_1 + ":76:31")(tsplus_module_7.runtime(fileName_1 + ":76:22"));
85
+ };
86
+ }
87
+ /**
88
+ * @tsplus pipeable fncts.io.FiberSet run
89
+ */
90
+ export function run(io) {
91
+ return self => {
92
+ return tsplus_module_2.tap(fiber => add_1(fiber)(self), fileName_1 + ":92:29")(tsplus_module_8.forkDaemon(io, fileName_1 + ":92:14"));
93
+ };
94
+ }
95
+ /**
96
+ * @tsplus getter fncts.io.FiberSet size
97
+ */
98
+ export function size(self) {
99
+ return tsplus_module_2.succeed(() => self.backing.size, fileName_1 + ":100:12");
100
+ }
101
+ /**
102
+ * @tsplus getter fncts.io.FiberSet join
103
+ */
104
+ export function join(self) {
105
+ return tsplus_module_6.wait(self.future, fileName_1 + ":107:43");
106
+ }
107
+ /**
108
+ * @tsplus getter fncts.io.FiberSet clear
109
+ */
110
+ function clear_1(self) {
111
+ return tsplus_module_2.zipRight(tsplus_module_2.succeed(() => self.backing.clear(), fileName_1 + ":114:67"), fileName_1 + ":114:64")(tsplus_module_2.foreach(self.backing, fiber => tsplus_module_9.interrupt(fiber), fileName_1 + ":114:20"));
112
+ }
113
+ //# sourceMappingURL=FiberSet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiberSet.mjs","names":["unsafeMake","unsafeMake_1","make","make_1","unsafeAdd","unsafeAdd_1","add","add_1","runtime","runtime_1","clear","clear_1","FiberSetTypeId","Symbol","for","FiberSet","constructor","backing","future","_a","tsplus_module_3","acquireRelease","tsplus_module_2","map","Set","fileName_1","tsplus_module_1","fiberSet","makeRuntime","flatMap","fiber","self","has","addObserver","exit","delete","tsplus_module_4","isFailure","tsplus_module_5","isInterruptedOnly","cause","tsplus_module_6","unsafeDone","succeed","runFork","unsafeRunFiber","io","tsplus_module_7","run","tap","tsplus_module_8","forkDaemon","size","join","wait","zipRight","foreach","tsplus_module_9","interrupt"],"sources":["../_src/FiberSet.ts"],"sourcesContent":[null],"mappings":"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"}