@fncts/io 0.0.38 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. package/Channel/definition.d.ts +108 -104
  2. package/FiberRef/unsafe.d.ts +5 -0
  3. package/Future/definition.d.ts +24 -3
  4. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +8 -2
  5. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  6. package/_cjs/Channel/api/mergeAllWith.cjs +23 -14
  7. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  8. package/_cjs/Channel/api/mergeWith.cjs +16 -4
  9. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  10. package/_cjs/Channel/api.cjs +131 -36
  11. package/_cjs/Channel/api.cjs.map +1 -1
  12. package/_cjs/Channel/core-api.cjs +13 -3
  13. package/_cjs/Channel/core-api.cjs.map +1 -1
  14. package/_cjs/Channel/definition.cjs +18 -143
  15. package/_cjs/Channel/definition.cjs.map +1 -1
  16. package/_cjs/Channel/internal/ChannelExecutor.cjs +51 -49
  17. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  18. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +8 -2
  19. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  20. package/_cjs/Console/live.cjs +1 -1
  21. package/_cjs/Console/live.cjs.map +1 -1
  22. package/_cjs/Fiber/FiberRuntime.cjs +23 -18
  23. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  24. package/_cjs/FiberRef/definition.cjs +3 -1
  25. package/_cjs/FiberRef/definition.cjs.map +1 -1
  26. package/_cjs/FiberRef/unsafe.cjs +6 -1
  27. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  28. package/_cjs/Future/api.cjs +12 -12
  29. package/_cjs/Future/api.cjs.map +1 -1
  30. package/_cjs/Future/definition.cjs +10 -3
  31. package/_cjs/Future/definition.cjs.map +1 -1
  32. package/_cjs/IO/api/asyncInterrupt.cjs +7 -4
  33. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  34. package/_cjs/IO/api.cjs +38 -14
  35. package/_cjs/IO/api.cjs.map +1 -1
  36. package/_cjs/IO/runtime.cjs +6 -3
  37. package/_cjs/IO/runtime.cjs.map +1 -1
  38. package/_cjs/Layer/api.cjs +4 -1
  39. package/_cjs/Layer/api.cjs.map +1 -1
  40. package/_cjs/Push/api.cjs +4 -1
  41. package/_cjs/Push/api.cjs.map +1 -1
  42. package/_cjs/Ref/Derived.cjs +35 -8
  43. package/_cjs/Ref/Derived.cjs.map +1 -1
  44. package/_cjs/Ref/DerivedAll.cjs +35 -8
  45. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  46. package/_cjs/RuntimeFlags/RuntimeFlags.cjs +3 -4
  47. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  48. package/_cjs/STM/api/core-api.cjs +4 -1
  49. package/_cjs/STM/api/core-api.cjs.map +1 -1
  50. package/_cjs/STM/api.cjs +16 -4
  51. package/_cjs/STM/api.cjs.map +1 -1
  52. package/_cjs/Schedule/api.cjs +7 -1
  53. package/_cjs/Schedule/api.cjs.map +1 -1
  54. package/_cjs/ScopedRef/api.cjs +2 -2
  55. package/_cjs/ScopedRef/api.cjs.map +1 -1
  56. package/_cjs/Sink/api.cjs +7 -1
  57. package/_cjs/Sink/api.cjs.map +1 -1
  58. package/_cjs/Stream/api/zipAllWith.cjs +4 -1
  59. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  60. package/_cjs/Stream/api/zipWithChunks.cjs +4 -1
  61. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  62. package/_cjs/Stream/api.cjs +36 -15
  63. package/_cjs/Stream/api.cjs.map +1 -1
  64. package/_cjs/SupervisorPatch.cjs +38 -15
  65. package/_cjs/SupervisorPatch.cjs.map +1 -1
  66. package/_cjs/TRef/definition.cjs +74 -20
  67. package/_cjs/TRef/definition.cjs.map +1 -1
  68. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +8 -2
  69. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  70. package/_mjs/Channel/api/mergeAllWith.mjs +23 -14
  71. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  72. package/_mjs/Channel/api/mergeWith.mjs +16 -4
  73. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  74. package/_mjs/Channel/api.mjs +132 -37
  75. package/_mjs/Channel/api.mjs.map +1 -1
  76. package/_mjs/Channel/core-api.mjs +14 -4
  77. package/_mjs/Channel/core-api.mjs.map +1 -1
  78. package/_mjs/Channel/definition.mjs +14 -135
  79. package/_mjs/Channel/definition.mjs.map +1 -1
  80. package/_mjs/Channel/internal/ChannelExecutor.mjs +52 -50
  81. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  82. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +8 -2
  83. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  84. package/_mjs/Console/live.mjs +1 -1
  85. package/_mjs/Console/live.mjs.map +1 -1
  86. package/_mjs/Fiber/FiberRuntime.mjs +23 -18
  87. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  88. package/_mjs/FiberRef/definition.mjs +3 -1
  89. package/_mjs/FiberRef/definition.mjs.map +1 -1
  90. package/_mjs/FiberRef/unsafe.mjs +4 -0
  91. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  92. package/_mjs/Future/api.mjs +12 -12
  93. package/_mjs/Future/api.mjs.map +1 -1
  94. package/_mjs/Future/definition.mjs +7 -2
  95. package/_mjs/Future/definition.mjs.map +1 -1
  96. package/_mjs/IO/api/asyncInterrupt.mjs +7 -4
  97. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  98. package/_mjs/IO/api.mjs +38 -14
  99. package/_mjs/IO/api.mjs.map +1 -1
  100. package/_mjs/IO/runtime.mjs +6 -3
  101. package/_mjs/IO/runtime.mjs.map +1 -1
  102. package/_mjs/Layer/api.mjs +4 -1
  103. package/_mjs/Layer/api.mjs.map +1 -1
  104. package/_mjs/Push/api.mjs +4 -1
  105. package/_mjs/Push/api.mjs.map +1 -1
  106. package/_mjs/Ref/Derived.mjs +35 -8
  107. package/_mjs/Ref/Derived.mjs.map +1 -1
  108. package/_mjs/Ref/DerivedAll.mjs +35 -8
  109. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  110. package/_mjs/RuntimeFlags/RuntimeFlags.mjs +3 -4
  111. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  112. package/_mjs/STM/api/core-api.mjs +4 -1
  113. package/_mjs/STM/api/core-api.mjs.map +1 -1
  114. package/_mjs/STM/api.mjs +16 -4
  115. package/_mjs/STM/api.mjs.map +1 -1
  116. package/_mjs/Schedule/api.mjs +7 -1
  117. package/_mjs/Schedule/api.mjs.map +1 -1
  118. package/_mjs/ScopedRef/api.mjs +2 -2
  119. package/_mjs/ScopedRef/api.mjs.map +1 -1
  120. package/_mjs/Sink/api.mjs +7 -1
  121. package/_mjs/Sink/api.mjs.map +1 -1
  122. package/_mjs/Stream/api/zipAllWith.mjs +4 -1
  123. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  124. package/_mjs/Stream/api/zipWithChunks.mjs +4 -1
  125. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  126. package/_mjs/Stream/api.mjs +36 -15
  127. package/_mjs/Stream/api.mjs.map +1 -1
  128. package/_mjs/SupervisorPatch.mjs +38 -15
  129. package/_mjs/SupervisorPatch.mjs.map +1 -1
  130. package/_mjs/TRef/definition.mjs +74 -20
  131. package/_mjs/TRef/definition.mjs.map +1 -1
  132. package/_src/Channel/api/mapOutConcurrentIO.ts +5 -5
  133. package/_src/Channel/api/mergeAllWith.ts +9 -9
  134. package/_src/Channel/api/mergeWith.ts +16 -16
  135. package/_src/Channel/api.ts +128 -143
  136. package/_src/Channel/core-api.ts +17 -14
  137. package/_src/Channel/definition.ts +187 -236
  138. package/_src/Channel/internal/ChannelExecutor.ts +47 -45
  139. package/_src/Channel/internal/SingleProducerAsyncInput.ts +2 -2
  140. package/_src/Console/live.ts +1 -1
  141. package/_src/Fiber/FiberRuntime.ts +6 -3
  142. package/_src/FiberRef/definition.ts +4 -1
  143. package/_src/FiberRef/unsafe.ts +5 -0
  144. package/_src/Future/definition.ts +19 -3
  145. package/_src/IO/api/asyncInterrupt.ts +4 -4
  146. package/_src/IO/api.ts +19 -15
  147. package/_src/IO/runtime.ts +6 -3
  148. package/_src/Layer/api.ts +4 -1
  149. package/_src/Push/api.ts +4 -4
  150. package/_src/Ref/Derived.ts +20 -18
  151. package/_src/Ref/DerivedAll.ts +21 -18
  152. package/_src/RuntimeFlags/RuntimeFlags.ts +1 -1
  153. package/_src/STM/api/core-api.ts +1 -1
  154. package/_src/STM/api.ts +4 -4
  155. package/_src/Schedule/api.ts +8 -8
  156. package/_src/ScopedRef/api.ts +4 -3
  157. package/_src/Sink/api.ts +8 -8
  158. package/_src/Stream/api/zipAllWith.ts +4 -4
  159. package/_src/Stream/api/zipWithChunks.ts +4 -4
  160. package/_src/Stream/api.ts +21 -19
  161. package/_src/SupervisorPatch.ts +1 -0
  162. package/_src/TRef/definition.ts +36 -33
  163. package/package.json +2 -2
@@ -1,5 +1,4 @@
1
- var _a;
2
- import * as tsplus_module_1 from "@fncts/base/data/Exit/api";
1
+ var _a, _b;
3
2
  export const ChannelVariance = /*#__PURE__*/Symbol.for("fncts.io.Channel.Variance");
4
3
  export const ChannelTypeId = /*#__PURE__*/Symbol.for("fncts.io.Channel");
5
4
  /**
@@ -18,147 +17,27 @@ _a = ChannelTypeId;
18
17
  export function unifyChannel(_) {
19
18
  return _;
20
19
  }
21
- export class Continuation {}
22
- export class ContinuationK extends Continuation {
23
- constructor(onSuccess, onHalt) {
24
- super();
25
- this.onSuccess = onSuccess;
26
- this.onHalt = onHalt;
27
- this._tag = "ContinuationK" /* ChannelTag.ContinuationK */;
28
- }
29
-
30
- onExit(exit) {
31
- return tsplus_module_1.match(this.onHalt, this.onSuccess)(exit);
32
- }
33
- }
34
- export class ContinuationFinalizer extends Continuation {
35
- constructor(finalizer) {
36
- super();
37
- this.finalizer = finalizer;
38
- this._tag = "ContinuationFinalizer" /* ChannelTag.ContinuationFinalizer */;
20
+ export class ChannelPrimitive {
21
+ constructor(_tag) {
22
+ this._tag = _tag;
23
+ this.i0 = undefined;
24
+ this.i1 = undefined;
25
+ this.i2 = undefined;
26
+ this.i3 = undefined;
27
+ this.i4 = undefined;
28
+ this.i5 = undefined;
29
+ this.trace = undefined;
30
+ this[_b] = ChannelTypeId;
39
31
  }
40
32
  }
33
+ _b = ChannelTypeId;
34
+ export class Continuation {}
41
35
  /**
42
36
  * @optimize remove
43
37
  */
44
38
  export function concreteContinuation(_) {
45
39
  //
46
40
  }
47
- export class PipeTo extends Channel {
48
- constructor(left, right) {
49
- super();
50
- this.left = left;
51
- this.right = right;
52
- this._tag = "PipeTo" /* ChannelTag.PipeTo */;
53
- }
54
- }
55
-
56
- export class Fold extends Channel {
57
- constructor(value, k) {
58
- super();
59
- this.value = value;
60
- this.k = k;
61
- this._tag = "Fold" /* ChannelTag.Fold */;
62
- }
63
- }
64
-
65
- export class Read extends Channel {
66
- constructor(more, done) {
67
- super();
68
- this.more = more;
69
- this.done = done;
70
- this._tag = "Read" /* ChannelTag.Read */;
71
- }
72
- }
73
-
74
- export class Done extends Channel {
75
- constructor(terminal) {
76
- super();
77
- this.terminal = terminal;
78
- this._tag = "Done" /* ChannelTag.Done */;
79
- }
80
- }
81
-
82
- export class Fail extends Channel {
83
- constructor(cause) {
84
- super();
85
- this.cause = cause;
86
- this._tag = "Halt" /* ChannelTag.Halt */;
87
- }
88
- }
89
-
90
- export class FromIO extends Channel {
91
- constructor(io) {
92
- super();
93
- this.io = io;
94
- this._tag = "FromIO" /* ChannelTag.FromIO */;
95
- }
96
- }
97
-
98
- export class Defer extends Channel {
99
- constructor(effect) {
100
- super();
101
- this.effect = effect;
102
- this._tag = "Defer" /* ChannelTag.Defer */;
103
- }
104
- }
105
-
106
- export class Ensuring extends Channel {
107
- constructor(channel, finalizer) {
108
- super();
109
- this.channel = channel;
110
- this.finalizer = finalizer;
111
- this._tag = "Ensuring" /* ChannelTag.Ensuring */;
112
- }
113
- }
114
-
115
- export class ConcatAll extends Channel {
116
- constructor(combineInners, combineAll, onPull, onEmit, value, k) {
117
- super();
118
- this.combineInners = combineInners;
119
- this.combineAll = combineAll;
120
- this.onPull = onPull;
121
- this.onEmit = onEmit;
122
- this.value = value;
123
- this.k = k;
124
- this._tag = "ConcatAll" /* ChannelTag.ConcatAll */;
125
- }
126
- }
127
-
128
- export class BracketOut extends Channel {
129
- constructor(acquire, finalizer) {
130
- super();
131
- this.acquire = acquire;
132
- this.finalizer = finalizer;
133
- this._tag = "BracketOut" /* ChannelTag.BracketOut */;
134
- }
135
- }
136
-
137
- export class Provide extends Channel {
138
- constructor(environment, inner) {
139
- super();
140
- this.environment = environment;
141
- this.inner = inner;
142
- this._tag = "Provide" /* ChannelTag.Provide */;
143
- }
144
- }
145
-
146
- export class Emit extends Channel {
147
- constructor(out) {
148
- super();
149
- this.out = out;
150
- this._tag = "Emit" /* ChannelTag.Emit */;
151
- }
152
- }
153
-
154
- export class Bridge extends Channel {
155
- constructor(input, channel) {
156
- super();
157
- this.input = input;
158
- this.channel = channel;
159
- this._tag = "Bridge" /* ChannelTag.Bridge */;
160
- }
161
- }
162
41
  /**
163
42
  * @tsplus macro remove
164
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":["ChannelVariance","Symbol","for","ChannelTypeId","Channel","constructor","_a","unifyChannel","_","Continuation","ContinuationK","onSuccess","onHalt","_tag","onExit","exit","tsplus_module_1","match","ContinuationFinalizer","finalizer","concreteContinuation","PipeTo","left","right","Fold","value","k","Read","more","done","Done","terminal","Fail","cause","FromIO","io","Defer","effect","Ensuring","channel","ConcatAll","combineInners","combineAll","onPull","onEmit","BracketOut","acquire","Provide","environment","inner","Emit","out","Bridge","input","concrete"],"sources":["../../_src/Channel/definition.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"definition.mjs","names":["ChannelVariance","Symbol","for","ChannelTypeId","Channel","constructor","_a","unifyChannel","_","ChannelPrimitive","_tag","i0","undefined","i1","i2","i3","i4","i5","trace","_b","Continuation","concreteContinuation","concrete"],"sources":["../../_src/Channel/definition.ts"],"sourcesContent":[null],"mappings":";AAuBA,OAAO,MAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAGtE,OAAO,MAAMC,aAAa,gBAAGF,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAG3D;;;;AAIA,OAAM,MAAgBE,OAAO;EAA7BC,YAAA;IACW,KAAAC,EAAA,CAAe,GAAkBH,aAAa;EAUzD;;KAVYA,aAAa;AAYzB;;;AAGA,OAAM,SAAUI,YAAYA,CAC1BC,CAAI;EAkEJ,OAAOA,CAAC;AACV;AAeA,OAAM,MAAOC,gBAAgB;EAS3BJ,YAAqBK,IAAuD;IAAvD,KAAAA,IAAI,GAAJA,IAAI;IARlB,KAAAC,EAAE,GAA0BC,SAAS;IACrC,KAAAC,EAAE,GAA0BD,SAAS;IACrC,KAAAE,EAAE,GAA0BF,SAAS;IACrC,KAAAG,EAAE,GAA0BH,SAAS;IACrC,KAAAI,EAAE,GAA0BJ,SAAS;IACrC,KAAAK,EAAE,GAA0BL,SAAS;IACrC,KAAAM,KAAK,GAAuBN,SAAS;IAC5C,KAAAO,EAAA,CAAe,GAAoBhB,aAAa;EAC+B;;KAD9EA,aAAa;AAIhB,OAAM,MAAgBiB,YAAY;AA8ClC;;;AAGA,OAAM,SAAUC,oBAAoBA,CAClCb,CAAwF;EAExF;AAAA;AAsIF;;;AAGA,OAAM,SAAUc,QAAQA,CACtBd,CAAgE;EAEhE;AAAA"}
@@ -24,7 +24,7 @@ import * as tsplus_module_22 from "@fncts/base/data/Maybe/definition";
24
24
  import * as tsplus_module_23 from "@fncts/io/Channel/ChildExecutorDecision/api";
25
25
  import * as tsplus_module_24 from "@fncts/io/Channel/api";
26
26
  import { identity } from "@fncts/base/data/function";
27
- import { concrete, concreteContinuation, ContinuationFinalizer } from "@fncts/io/Channel/definition";
27
+ import { ChannelPrimitive, concrete, concreteContinuation } from "@fncts/io/Channel/definition";
28
28
  import * as State from "@fncts/io/Channel/internal/ChannelState";
29
29
  class PullFromUpstream {
30
30
  constructor(upstreamExecutor, createChild, lastDone, activeChildExecutors, combineChildResults, combineWithChildResult, onPull, onEmit) {
@@ -248,7 +248,7 @@ export class ChannelExecutor {
248
248
  void 0;
249
249
  const currentChannel = this.currentChannel;
250
250
  switch (currentChannel._tag) {
251
- case "Bridge" /* ChannelTag.Bridge */:
251
+ case 4 /* ChannelTag.Bridge */:
252
252
  {
253
253
  if (this.input !== null) {
254
254
  const inputExecutor = this.input;
@@ -259,22 +259,22 @@ export class ChannelExecutor {
259
259
  case "Done" /* State.ChannelStateTag.Done */:
260
260
  {
261
261
  const done = inputExecutor.getDone();
262
- return tsplus_module_3.match(cause => currentChannel.input.error(cause), value => currentChannel.input.done(value))(done);
262
+ return tsplus_module_3.match(cause => currentChannel.i0.error(cause), value => currentChannel.i0.done(value))(done);
263
263
  }
264
264
  case "Emit" /* State.ChannelStateTag.Emit */:
265
265
  {
266
- return tsplus_module_2.flatMap(() => drainer, fileName_1 + ":319:92")(currentChannel.input.emit(inputExecutor.getEmit()));
266
+ return tsplus_module_2.flatMap(() => drainer, fileName_1 + ":319:89")(currentChannel.i0.emit(inputExecutor.getEmit()));
267
267
  }
268
268
  case "Effect" /* State.ChannelStateTag.Effect */:
269
269
  {
270
- return tsplus_module_2.matchCauseIO(cause => currentChannel.input.error(cause), () => drainer, fileName_1 + ":322:59")(state.effect);
270
+ return tsplus_module_2.matchCauseIO(cause => currentChannel.i0.error(cause), () => drainer, fileName_1 + ":322:59")(state.effect);
271
271
  }
272
272
  case "Read" /* State.ChannelStateTag.Read */:
273
273
  {
274
- return readUpstream(state, () => drainer, cause => currentChannel.input.error(cause));
274
+ return readUpstream(state, () => drainer, cause => currentChannel.i0.error(cause));
275
275
  }
276
276
  }
277
- }, fileName_1 + ":307:29"), fileName_1 + ":306:94")(currentChannel.input.awaitRead);
277
+ }, fileName_1 + ":307:29"), fileName_1 + ":306:91")(currentChannel.i0.awaitRead);
278
278
  result = new State.Effect(tsplus_module_2.flatMap(fiber => tsplus_module_2.succeed(() => {
279
279
  this.addFinalizer(exit => tsplus_module_2.zipRight(tsplus_module_2.defer(() => {
280
280
  const effect = this.restorePipe(exit, inputExecutor);
@@ -288,10 +288,10 @@ export class ChannelExecutor {
288
288
  }
289
289
  break;
290
290
  }
291
- case "PipeTo" /* ChannelTag.PipeTo */:
291
+ case 0 /* ChannelTag.PipeTo */:
292
292
  {
293
293
  const previousInput = this.input;
294
- const leftExec = new ChannelExecutor(currentChannel.left, this.providedEnv, _ => this.executeCloseLastSubstream(_));
294
+ const leftExec = new ChannelExecutor(currentChannel.i0, this.providedEnv, _ => this.executeCloseLastSubstream(_));
295
295
  leftExec.input = previousInput;
296
296
  this.input = leftExec;
297
297
  this.addFinalizer(exit => {
@@ -302,34 +302,34 @@ export class ChannelExecutor {
302
302
  return tsplus_module_2.unit;
303
303
  }
304
304
  });
305
- this.currentChannel = currentChannel.right();
305
+ this.currentChannel = currentChannel.i1();
306
306
  break;
307
307
  }
308
- case "Read" /* ChannelTag.Read */:
308
+ case 5 /* ChannelTag.Read */:
309
309
  {
310
310
  const read = currentChannel;
311
311
  result = new State.Read(this.input, identity, out => {
312
- this.currentChannel = read.more(out);
312
+ this.currentChannel = read.i0(out);
313
313
  return null;
314
314
  }, exit => {
315
- this.currentChannel = read.done.onExit(exit);
315
+ this.currentChannel = tsplus_module_3.match(read.i1.i1, read.i1.i0)(exit);
316
316
  return null;
317
317
  });
318
318
  break;
319
319
  }
320
- case "Done" /* ChannelTag.Done */:
320
+ case 6 /* ChannelTag.Done */:
321
321
  {
322
- result = this.doneSucceed(currentChannel.terminal());
322
+ result = this.doneSucceed(currentChannel.i0());
323
323
  break;
324
324
  }
325
- case "Halt" /* ChannelTag.Halt */:
325
+ case 7 /* ChannelTag.Halt */:
326
326
  {
327
- result = this.doneHalt(currentChannel.cause());
327
+ result = this.doneHalt(currentChannel.i0());
328
328
  break;
329
329
  }
330
- case "FromIO" /* ChannelTag.FromIO */:
330
+ case 8 /* ChannelTag.FromIO */:
331
331
  {
332
- const pio = this.providedEnv === null ? currentChannel.io : tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":404:59")(currentChannel.io);
332
+ const pio = this.providedEnv === null ? currentChannel.i0 : tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":404:59")(currentChannel.i0);
333
333
  result = new State.Effect(tsplus_module_2.matchCauseIO(cause => {
334
334
  const state = this.doneHalt(cause);
335
335
  if (state !== null && state._tag === "Effect" /* State.ChannelStateTag.Effect */) {
@@ -347,52 +347,52 @@ export class ChannelExecutor {
347
347
  }, fileName_1 + ":406:35")(pio));
348
348
  break;
349
349
  }
350
- case "Defer" /* ChannelTag.Defer */:
350
+ case 10 /* ChannelTag.Defer */:
351
351
  {
352
- this.currentChannel = currentChannel.effect();
352
+ this.currentChannel = currentChannel.i0();
353
353
  break;
354
354
  }
355
- case "Emit" /* ChannelTag.Emit */:
355
+ case 9 /* ChannelTag.Emit */:
356
356
  {
357
- this.emitted = currentChannel.out();
357
+ this.emitted = currentChannel.i0();
358
358
  this.currentChannel = this.activeSubexecutor !== null ? null : tsplus_module_10.endNow(undefined);
359
359
  result = State._Emit;
360
360
  break;
361
361
  }
362
- case "Ensuring" /* ChannelTag.Ensuring */:
362
+ case 11 /* ChannelTag.Ensuring */:
363
363
  {
364
364
  this.runEnsuring(currentChannel);
365
365
  break;
366
366
  }
367
- case "ConcatAll" /* ChannelTag.ConcatAll */:
367
+ case 12 /* ChannelTag.ConcatAll */:
368
368
  {
369
369
  const innerExecuteLastClose = f => tsplus_module_2.succeed(() => {
370
370
  const prevLastClose = this.closeLastSubstream === null ? tsplus_module_2.unit : this.closeLastSubstream;
371
371
  this.closeLastSubstream = tsplus_module_2.flatMap(() => f, fileName_1 + ":445:68")(prevLastClose);
372
372
  }, fileName_1 + ":443:29");
373
- const exec = new ChannelExecutor(() => currentChannel.value, this.providedEnv, innerExecuteLastClose);
373
+ const exec = new ChannelExecutor(() => currentChannel.i4, this.providedEnv, innerExecuteLastClose);
374
374
  exec.input = this.input;
375
- this.activeSubexecutor = new PullFromUpstream(exec, currentChannel.k, null, tsplus_module_11.empty(), currentChannel.combineInners, currentChannel.combineAll, currentChannel.onPull, currentChannel.onEmit);
375
+ this.activeSubexecutor = new PullFromUpstream(exec, currentChannel.i5, null, tsplus_module_11.empty(), currentChannel.i0, currentChannel.i1, currentChannel.i2, currentChannel.i3);
376
376
  this.closeLastSubstream = null;
377
377
  this.currentChannel = null;
378
378
  break;
379
379
  }
380
- case "Fold" /* ChannelTag.Fold */:
380
+ case 3 /* ChannelTag.Fold */:
381
381
  {
382
- this.doneStack = tsplus_module_12.prepend(currentChannel.k)(this.doneStack);
383
- this.currentChannel = currentChannel.value;
382
+ this.doneStack = tsplus_module_12.prepend(currentChannel.i1)(this.doneStack);
383
+ this.currentChannel = currentChannel.i0;
384
384
  break;
385
385
  }
386
- case "BracketOut" /* ChannelTag.BracketOut */:
386
+ case 13 /* ChannelTag.BracketOut */:
387
387
  {
388
388
  result = this.runBracketOut(currentChannel);
389
389
  break;
390
390
  }
391
- case "Provide" /* ChannelTag.Provide */:
391
+ case 14 /* ChannelTag.Provide */:
392
392
  {
393
393
  const previousEnv = this.providedEnv;
394
- this.providedEnv = currentChannel.environment;
395
- this.currentChannel = currentChannel.inner;
394
+ this.providedEnv = currentChannel.i0;
395
+ this.currentChannel = currentChannel.i1;
396
396
  this.addFinalizer(() => tsplus_module_2.succeed(() => {
397
397
  this.providedEnv = previousEnv;
398
398
  }, fileName_1 + ":477:29"));
@@ -426,12 +426,12 @@ export class ChannelExecutor {
426
426
  const head = tsplus_module_12.unsafeHead(this.doneStack);
427
427
  this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
428
428
  concreteContinuation(head);
429
- if (head._tag === "ContinuationK" /* ChannelTag.ContinuationK */) {
429
+ if (head._tag === 1 /* ChannelTag.ContinuationK */) {
430
430
  acc_2 = acc_1;
431
431
  acc_1 = acc_2;
432
432
  continue;
433
433
  } else {
434
- acc_2 = tsplus_module_12.prepend(head.finalizer)(acc_1);
434
+ acc_2 = tsplus_module_12.prepend(head.i0)(acc_1);
435
435
  acc_1 = acc_2;
436
436
  continue;
437
437
  }
@@ -454,7 +454,7 @@ export class ChannelExecutor {
454
454
  } else {
455
455
  const head = tsplus_module_12.unsafeHead(stack);
456
456
  concreteContinuation(head);
457
- if (head._tag === "ContinuationK" /* ChannelTag.ContinuationK */) {
457
+ if (head._tag === 1 /* ChannelTag.ContinuationK */) {
458
458
  return stack;
459
459
  } else {
460
460
  builder.append(head);
@@ -674,9 +674,9 @@ export class ChannelExecutor {
674
674
  }
675
675
  const head = tsplus_module_12.unsafeHead(this.doneStack);
676
676
  concreteContinuation(head);
677
- if (head._tag === "ContinuationK" /* ChannelTag.ContinuationK */) {
677
+ if (head._tag === 1 /* ChannelTag.ContinuationK */) {
678
678
  this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
679
- this.currentChannel = head.onSuccess(z);
679
+ this.currentChannel = head.i0(z);
680
680
  return null;
681
681
  } else {
682
682
  const finalizers = this.popNextFinalizers();
@@ -686,7 +686,7 @@ export class ChannelExecutor {
686
686
  this.currentChannel = null;
687
687
  return State._Done;
688
688
  } else {
689
- const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.finalizer)(finalizers), tsplus_module_5.succeed(z, fileName_1 + ":996:23"));
689
+ const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.i0)(finalizers), tsplus_module_5.succeed(z, fileName_1 + ":996:23"));
690
690
  this.storeInProgressFinalizer(finalizerEffect);
691
691
  return new State.Effect(tsplus_module_2.flatMap(() => tsplus_module_2.succeed(() => this.doneSucceed(z), fileName_1 + ":1006:54"), fileName_1 + ":1006:37")(tsplus_module_17.uninterruptible(tsplus_module_17.ensuring(tsplus_module_2.succeed(() => {
692
692
  this.clearInProgressFinalizer();
@@ -702,9 +702,9 @@ export class ChannelExecutor {
702
702
  }
703
703
  const head = tsplus_module_12.unsafeHead(this.doneStack);
704
704
  concreteContinuation(head);
705
- if (head._tag === "ContinuationK" /* ChannelTag.ContinuationK */) {
705
+ if (head._tag === 1 /* ChannelTag.ContinuationK */) {
706
706
  this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
707
- this.currentChannel = head.onHalt(cause);
707
+ this.currentChannel = head.i1(cause);
708
708
  return null;
709
709
  } else {
710
710
  const finalizers = this.popNextFinalizers();
@@ -714,7 +714,7 @@ export class ChannelExecutor {
714
714
  this.currentChannel = null;
715
715
  return State._Done;
716
716
  } else {
717
- const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.finalizer)(finalizers), tsplus_module_5.failCause(cause, fileName_1 + ":1036:25"));
717
+ const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.i0)(finalizers), tsplus_module_5.failCause(cause, fileName_1 + ":1036:25"));
718
718
  this.storeInProgressFinalizer(finalizerEffect);
719
719
  return new State.Effect(tsplus_module_2.flatMap(() => tsplus_module_2.succeed(() => this.doneHalt(cause), fileName_1 + ":1046:54"), fileName_1 + ":1046:37")(tsplus_module_17.uninterruptible(tsplus_module_17.ensuring(tsplus_module_2.succeed(() => {
720
720
  this.clearInProgressFinalizer();
@@ -723,26 +723,28 @@ export class ChannelExecutor {
723
723
  }
724
724
  }
725
725
  addFinalizer(f) {
726
- this.doneStack = tsplus_module_12.prepend(new ContinuationFinalizer(f))(this.doneStack);
726
+ const op = new ChannelPrimitive(2 /* ChannelTag.ContinuationFinalizer */);
727
+ op.i0 = f;
728
+ this.doneStack = tsplus_module_12.prepend(op)(this.doneStack);
727
729
  }
728
730
  provide(io, __tsplusTrace) {
729
731
  if (this.providedEnv === null) {
730
732
  return io;
731
733
  } else {
732
- return tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":1063:35")(io);
734
+ return tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":1065:35")(io);
733
735
  }
734
736
  }
735
737
  runBracketOut(bracketOut) {
736
738
  return new State.Effect(tsplus_module_17.uninterruptible(tsplus_module_2.matchCauseIO(cause => tsplus_module_2.succeed(() => {
737
739
  this.currentChannel = tsplus_module_10.failCause(() => cause);
738
- }, fileName_1 + ":1072:23"), out => tsplus_module_2.succeed(() => {
739
- this.addFinalizer(e => this.provide(bracketOut.finalizer(out, e), fileName_1 + ":1077:52"));
740
+ }, fileName_1 + ":1074:23"), out => tsplus_module_2.succeed(() => {
741
+ this.addFinalizer(e => this.provide(bracketOut.i1(out, e), fileName_1 + ":1079:52"));
740
742
  this.currentChannel = tsplus_module_24.write(() => out);
741
- }, fileName_1 + ":1076:23"), fileName_1 + ":1070:54")(this.provide(bracketOut.acquire, fileName_1 + ":1070:21")), fileName_1 + ":1069:25"));
743
+ }, fileName_1 + ":1078:23"), fileName_1 + ":1072:49")(this.provide(bracketOut.i0, fileName_1 + ":1072:21")), fileName_1 + ":1071:25"));
742
744
  }
743
745
  runEnsuring(ensuring) {
744
- this.addFinalizer(ensuring.finalizer);
745
- this.currentChannel = ensuring.channel;
746
+ this.addFinalizer(ensuring.i1);
747
+ this.currentChannel = ensuring.i0;
746
748
  }
747
749
  }
748
750
  //# sourceMappingURL=ChannelExecutor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelExecutor.mjs","names":["identity","concrete","concreteContinuation","ContinuationFinalizer","State","PullFromUpstream","constructor","upstreamExecutor","createChild","lastDone","activeChildExecutors","combineChildResults","combineWithChildResult","onPull","onEmit","_tag","close","ex","fin1","fins","tsplus_module_1","enqueue","map","child","childExecutor","finalizer","foldLeft","acc","next","tsplus_module_2","result","fileName_1","zipWith","a","b","tsplus_module_3","zipRight","flatMap","fromExitNow","enqueuePullFromChild","PullFromChild","parentSubexecutor","fin2","_child","DrainChildExecutors","upstreamDone","Emit","value","readUpstream","r","cont","onFailure","readStack","tsplus_module_4","single","read","current","pop","upstream","defer","state","run","emitEffect","getEmit","isEmpty","matchCauseIO","doneEffect","onDone","getDone","push","catchAllCause","cause","tsplus_module_5","failCause","unit","onEffect","io","ChannelExecutor","initialChannel","providedEnv","executeCloseLastSubstream","input","inProgressFinalizer","activeSubexecutor","doneStack","tsplus_module_6","nil","done","cancelled","closeLastSubstream","currentChannel","emitted","cancelWith","exit","processCancellation","runSubexecutor","_Done","inputExecutor","drainer","match","error","emit","effect","awaitRead","Effect","fiber","succeed","addFinalizer","restorePipe","tsplus_module_7","interrupt","tsplus_module_8","fork","previousInput","leftExec","left","_","right","Read","out","more","onExit","doneSucceed","terminal","doneHalt","pio","tsplus_module_9","provideEnvironment","z","tsplus_module_10","endNow","undefined","_Emit","runEnsuring","innerExecuteLastClose","f","prevLastClose","exec","k","tsplus_module_11","empty","combineInners","combineAll","tsplus_module_12","prepend","runBracketOut","previousEnv","environment","inner","e","failCauseNow","tsplus_module_13","halt","prev","currInput","popAllFinalizers","unwind","tsplus_module_14","reverse","acc_1","head","unsafeHead","tsplus_module_15","unsafeTail","finalizers","runFinalizers","storeInProgressFinalizer","popNextFinalizers","builder","tsplus_module_16","ListBuffer","go","stack","append","toList","clearInProgressFinalizer","ifNotNull","runInProgressFinalizers","tsplus_module_17","ensuring","closeSubexecutors","closeSelf","selfFinalizers","uninterruptible","c","tsplus_module_18","sequenceT","finishSubexecutorWithCloseEffect","subexecDone","closeFns","foreachDiscard","closeFn","closeEffect","results","tsplus_module_19","getOrElse","collectAll","foreach","pullFromUpstream","drainChildExecutors","pullFromChild","replaceSubexecutor","nextSubExec","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","emitSeparator","some","subexec","tsplus_module_20","performPullFromUpstream","activeChild","rest","dequeue","closeLast","updatedChildExecutors","tsplus_module_21","pulled","tsplus_module_22","isJust","drain","lastClose","effectOrNullIgnored","remainingExecutors","noUpstream","count","onEmitted","handleSubexecFailure","finishWithDoneValue","doneValue","modifiedParent","Error","tsplus_module_23","onSuccess","finalizerEffect","onHalt","provide","__tsplusTrace","bracketOut","tsplus_module_24","write","acquire","channel"],"sources":["../../../_src/Channel/internal/ChannelExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"ChannelExecutor.mjs","names":["identity","ChannelPrimitive","concrete","concreteContinuation","State","PullFromUpstream","constructor","upstreamExecutor","createChild","lastDone","activeChildExecutors","combineChildResults","combineWithChildResult","onPull","onEmit","_tag","close","ex","fin1","fins","tsplus_module_1","enqueue","map","child","childExecutor","finalizer","foldLeft","acc","next","tsplus_module_2","result","fileName_1","zipWith","a","b","tsplus_module_3","zipRight","flatMap","fromExitNow","enqueuePullFromChild","PullFromChild","parentSubexecutor","fin2","_child","DrainChildExecutors","upstreamDone","Emit","value","readUpstream","r","cont","onFailure","readStack","tsplus_module_4","single","read","current","pop","upstream","defer","state","run","emitEffect","getEmit","isEmpty","matchCauseIO","doneEffect","onDone","getDone","push","catchAllCause","cause","tsplus_module_5","failCause","unit","onEffect","io","ChannelExecutor","initialChannel","providedEnv","executeCloseLastSubstream","input","inProgressFinalizer","activeSubexecutor","doneStack","tsplus_module_6","nil","done","cancelled","closeLastSubstream","currentChannel","emitted","cancelWith","exit","processCancellation","runSubexecutor","_Done","inputExecutor","drainer","match","i0","error","emit","effect","awaitRead","Effect","fiber","succeed","addFinalizer","restorePipe","tsplus_module_7","interrupt","tsplus_module_8","fork","previousInput","leftExec","_","i1","Read","out","doneSucceed","doneHalt","pio","tsplus_module_9","provideEnvironment","z","tsplus_module_10","endNow","undefined","_Emit","runEnsuring","innerExecuteLastClose","f","prevLastClose","exec","i4","i5","tsplus_module_11","empty","i2","i3","tsplus_module_12","prepend","runBracketOut","previousEnv","e","failCauseNow","tsplus_module_13","halt","prev","currInput","popAllFinalizers","unwind","tsplus_module_14","reverse","acc_1","head","unsafeHead","tsplus_module_15","unsafeTail","finalizers","runFinalizers","storeInProgressFinalizer","popNextFinalizers","builder","tsplus_module_16","ListBuffer","go","stack","append","toList","clearInProgressFinalizer","ifNotNull","runInProgressFinalizers","tsplus_module_17","ensuring","closeSubexecutors","closeSelf","selfFinalizers","uninterruptible","c","tsplus_module_18","sequenceT","finishSubexecutorWithCloseEffect","subexecDone","closeFns","foreachDiscard","closeFn","closeEffect","results","tsplus_module_19","getOrElse","collectAll","foreach","pullFromUpstream","drainChildExecutors","pullFromChild","replaceSubexecutor","nextSubExec","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","emitSeparator","some","subexec","tsplus_module_20","performPullFromUpstream","activeChild","rest","dequeue","closeLast","updatedChildExecutors","tsplus_module_21","pulled","tsplus_module_22","isJust","drain","lastClose","effectOrNullIgnored","remainingExecutors","noUpstream","count","onEmitted","handleSubexecFailure","finishWithDoneValue","doneValue","modifiedParent","Error","tsplus_module_23","finalizerEffect","op","provide","__tsplusTrace","bracketOut","tsplus_module_24","write"],"sources":["../../../_src/Channel/internal/ChannelExecutor.ts"],"sourcesContent":[null],"mappings":"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"}