@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.
- package/Channel/definition.d.ts +108 -104
- package/FiberRef/unsafe.d.ts +5 -0
- package/Future/definition.d.ts +24 -3
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +8 -2
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +23 -14
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +16 -4
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +131 -36
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs +13 -3
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs +18 -143
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +51 -49
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +8 -2
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Console/live.cjs +1 -1
- package/_cjs/Console/live.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +23 -18
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs +3 -1
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +6 -1
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/Future/api.cjs +12 -12
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/definition.cjs +10 -3
- package/_cjs/Future/definition.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +7 -4
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api.cjs +38 -14
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +6 -3
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +4 -1
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Push/api.cjs +4 -1
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +35 -8
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +35 -8
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs +3 -4
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs +4 -1
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api.cjs +16 -4
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +7 -1
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -2
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +7 -1
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +4 -1
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +4 -1
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +36 -15
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +38 -15
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +74 -20
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +8 -2
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +23 -14
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +16 -4
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +132 -37
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs +14 -4
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs +14 -135
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +52 -50
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +8 -2
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Console/live.mjs +1 -1
- package/_mjs/Console/live.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +23 -18
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/FiberRef/definition.mjs +3 -1
- package/_mjs/FiberRef/definition.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +4 -0
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/Future/api.mjs +12 -12
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/definition.mjs +7 -2
- package/_mjs/Future/definition.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs +7 -4
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api.mjs +38 -14
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +6 -3
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +4 -1
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Push/api.mjs +4 -1
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs +35 -8
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +35 -8
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/RuntimeFlags/RuntimeFlags.mjs +3 -4
- package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
- package/_mjs/STM/api/core-api.mjs +4 -1
- package/_mjs/STM/api/core-api.mjs.map +1 -1
- package/_mjs/STM/api.mjs +16 -4
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +7 -1
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +2 -2
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +7 -1
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +4 -1
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +4 -1
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +36 -15
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/SupervisorPatch.mjs +38 -15
- package/_mjs/SupervisorPatch.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs +74 -20
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_src/Channel/api/mapOutConcurrentIO.ts +5 -5
- package/_src/Channel/api/mergeAllWith.ts +9 -9
- package/_src/Channel/api/mergeWith.ts +16 -16
- package/_src/Channel/api.ts +128 -143
- package/_src/Channel/core-api.ts +17 -14
- package/_src/Channel/definition.ts +187 -236
- package/_src/Channel/internal/ChannelExecutor.ts +47 -45
- package/_src/Channel/internal/SingleProducerAsyncInput.ts +2 -2
- package/_src/Console/live.ts +1 -1
- package/_src/Fiber/FiberRuntime.ts +6 -3
- package/_src/FiberRef/definition.ts +4 -1
- package/_src/FiberRef/unsafe.ts +5 -0
- package/_src/Future/definition.ts +19 -3
- package/_src/IO/api/asyncInterrupt.ts +4 -4
- package/_src/IO/api.ts +19 -15
- package/_src/IO/runtime.ts +6 -3
- package/_src/Layer/api.ts +4 -1
- package/_src/Push/api.ts +4 -4
- package/_src/Ref/Derived.ts +20 -18
- package/_src/Ref/DerivedAll.ts +21 -18
- package/_src/RuntimeFlags/RuntimeFlags.ts +1 -1
- package/_src/STM/api/core-api.ts +1 -1
- package/_src/STM/api.ts +4 -4
- package/_src/Schedule/api.ts +8 -8
- package/_src/ScopedRef/api.ts +4 -3
- package/_src/Sink/api.ts +8 -8
- package/_src/Stream/api/zipAllWith.ts +4 -4
- package/_src/Stream/api/zipWithChunks.ts +4 -4
- package/_src/Stream/api.ts +21 -19
- package/_src/SupervisorPatch.ts +1 -0
- package/_src/TRef/definition.ts +36 -33
- package/package.json +2 -2
@@ -3,14 +3,11 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.Continuation = exports.ChannelVariance = exports.ChannelTypeId = exports.ChannelPrimitive = exports.Channel = void 0;
|
7
7
|
exports.concrete = concrete;
|
8
8
|
exports.concreteContinuation = concreteContinuation;
|
9
9
|
exports.unifyChannel = unifyChannel;
|
10
|
-
var
|
11
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
12
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
13
|
-
var _a;
|
10
|
+
var _a, _b;
|
14
11
|
const ChannelVariance = /*#__PURE__*/Symbol.for("fncts.io.Channel.Variance");
|
15
12
|
exports.ChannelVariance = ChannelVariance;
|
16
13
|
const ChannelTypeId = /*#__PURE__*/Symbol.for("fncts.io.Channel");
|
@@ -32,154 +29,32 @@ _a = ChannelTypeId;
|
|
32
29
|
function unifyChannel(_) {
|
33
30
|
return _;
|
34
31
|
}
|
32
|
+
class ChannelPrimitive {
|
33
|
+
constructor(_tag) {
|
34
|
+
this._tag = _tag;
|
35
|
+
this.i0 = undefined;
|
36
|
+
this.i1 = undefined;
|
37
|
+
this.i2 = undefined;
|
38
|
+
this.i3 = undefined;
|
39
|
+
this.i4 = undefined;
|
40
|
+
this.i5 = undefined;
|
41
|
+
this.trace = undefined;
|
42
|
+
this[_b] = ChannelTypeId;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
exports.ChannelPrimitive = ChannelPrimitive;
|
46
|
+
_b = ChannelTypeId;
|
35
47
|
class Continuation {}
|
36
|
-
exports.Continuation = Continuation;
|
37
|
-
class ContinuationK extends Continuation {
|
38
|
-
constructor(onSuccess, onHalt) {
|
39
|
-
super();
|
40
|
-
this.onSuccess = onSuccess;
|
41
|
-
this.onHalt = onHalt;
|
42
|
-
this._tag = "ContinuationK" /* ChannelTag.ContinuationK */;
|
43
|
-
}
|
44
|
-
|
45
|
-
onExit(exit) {
|
46
|
-
return tsplus_module_1.match(this.onHalt, this.onSuccess)(exit);
|
47
|
-
}
|
48
|
-
}
|
49
|
-
exports.ContinuationK = ContinuationK;
|
50
|
-
class ContinuationFinalizer extends Continuation {
|
51
|
-
constructor(finalizer) {
|
52
|
-
super();
|
53
|
-
this.finalizer = finalizer;
|
54
|
-
this._tag = "ContinuationFinalizer" /* ChannelTag.ContinuationFinalizer */;
|
55
|
-
}
|
56
|
-
}
|
57
48
|
/**
|
58
49
|
* @optimize remove
|
59
50
|
*/
|
60
|
-
exports.
|
51
|
+
exports.Continuation = Continuation;
|
61
52
|
function concreteContinuation(_) {
|
62
53
|
//
|
63
54
|
}
|
64
|
-
class PipeTo extends Channel {
|
65
|
-
constructor(left, right) {
|
66
|
-
super();
|
67
|
-
this.left = left;
|
68
|
-
this.right = right;
|
69
|
-
this._tag = "PipeTo" /* ChannelTag.PipeTo */;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
exports.PipeTo = PipeTo;
|
73
|
-
class Fold extends Channel {
|
74
|
-
constructor(value, k) {
|
75
|
-
super();
|
76
|
-
this.value = value;
|
77
|
-
this.k = k;
|
78
|
-
this._tag = "Fold" /* ChannelTag.Fold */;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
exports.Fold = Fold;
|
82
|
-
class Read extends Channel {
|
83
|
-
constructor(more, done) {
|
84
|
-
super();
|
85
|
-
this.more = more;
|
86
|
-
this.done = done;
|
87
|
-
this._tag = "Read" /* ChannelTag.Read */;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
exports.Read = Read;
|
91
|
-
class Done extends Channel {
|
92
|
-
constructor(terminal) {
|
93
|
-
super();
|
94
|
-
this.terminal = terminal;
|
95
|
-
this._tag = "Done" /* ChannelTag.Done */;
|
96
|
-
}
|
97
|
-
}
|
98
|
-
exports.Done = Done;
|
99
|
-
class Fail extends Channel {
|
100
|
-
constructor(cause) {
|
101
|
-
super();
|
102
|
-
this.cause = cause;
|
103
|
-
this._tag = "Halt" /* ChannelTag.Halt */;
|
104
|
-
}
|
105
|
-
}
|
106
|
-
exports.Fail = Fail;
|
107
|
-
class FromIO extends Channel {
|
108
|
-
constructor(io) {
|
109
|
-
super();
|
110
|
-
this.io = io;
|
111
|
-
this._tag = "FromIO" /* ChannelTag.FromIO */;
|
112
|
-
}
|
113
|
-
}
|
114
|
-
exports.FromIO = FromIO;
|
115
|
-
class Defer extends Channel {
|
116
|
-
constructor(effect) {
|
117
|
-
super();
|
118
|
-
this.effect = effect;
|
119
|
-
this._tag = "Defer" /* ChannelTag.Defer */;
|
120
|
-
}
|
121
|
-
}
|
122
|
-
exports.Defer = Defer;
|
123
|
-
class Ensuring extends Channel {
|
124
|
-
constructor(channel, finalizer) {
|
125
|
-
super();
|
126
|
-
this.channel = channel;
|
127
|
-
this.finalizer = finalizer;
|
128
|
-
this._tag = "Ensuring" /* ChannelTag.Ensuring */;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
exports.Ensuring = Ensuring;
|
132
|
-
class ConcatAll extends Channel {
|
133
|
-
constructor(combineInners, combineAll, onPull, onEmit, value, k) {
|
134
|
-
super();
|
135
|
-
this.combineInners = combineInners;
|
136
|
-
this.combineAll = combineAll;
|
137
|
-
this.onPull = onPull;
|
138
|
-
this.onEmit = onEmit;
|
139
|
-
this.value = value;
|
140
|
-
this.k = k;
|
141
|
-
this._tag = "ConcatAll" /* ChannelTag.ConcatAll */;
|
142
|
-
}
|
143
|
-
}
|
144
|
-
exports.ConcatAll = ConcatAll;
|
145
|
-
class BracketOut extends Channel {
|
146
|
-
constructor(acquire, finalizer) {
|
147
|
-
super();
|
148
|
-
this.acquire = acquire;
|
149
|
-
this.finalizer = finalizer;
|
150
|
-
this._tag = "BracketOut" /* ChannelTag.BracketOut */;
|
151
|
-
}
|
152
|
-
}
|
153
|
-
exports.BracketOut = BracketOut;
|
154
|
-
class Provide extends Channel {
|
155
|
-
constructor(environment, inner) {
|
156
|
-
super();
|
157
|
-
this.environment = environment;
|
158
|
-
this.inner = inner;
|
159
|
-
this._tag = "Provide" /* ChannelTag.Provide */;
|
160
|
-
}
|
161
|
-
}
|
162
|
-
exports.Provide = Provide;
|
163
|
-
class Emit extends Channel {
|
164
|
-
constructor(out) {
|
165
|
-
super();
|
166
|
-
this.out = out;
|
167
|
-
this._tag = "Emit" /* ChannelTag.Emit */;
|
168
|
-
}
|
169
|
-
}
|
170
|
-
exports.Emit = Emit;
|
171
|
-
class Bridge extends Channel {
|
172
|
-
constructor(input, channel) {
|
173
|
-
super();
|
174
|
-
this.input = input;
|
175
|
-
this.channel = channel;
|
176
|
-
this._tag = "Bridge" /* ChannelTag.Bridge */;
|
177
|
-
}
|
178
|
-
}
|
179
55
|
/**
|
180
56
|
* @tsplus macro remove
|
181
57
|
*/
|
182
|
-
exports.Bridge = Bridge;
|
183
58
|
function concrete(_) {
|
184
59
|
//
|
185
60
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.cjs","names":["ChannelVariance","Symbol","for","exports","ChannelTypeId","Channel","constructor","_a","unifyChannel","_","
|
1
|
+
{"version":3,"file":"definition.cjs","names":["ChannelVariance","Symbol","for","exports","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":";;;;;;;;;;AAuBO,MAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAACC,OAAA,CAAAH,eAAA,GAAAA,eAAA;AAGhE,MAAMI,aAAa,gBAAGH,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAG3D;;;;AAAAC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAIM,MAAgBC,OAAO;EAA7BC,YAAA;IACW,KAAAC,EAAA,CAAe,GAAkBH,aAAa;EAUzD;;AAACD,OAAA,CAAAE,OAAA,GAAAA,OAAA;KAVWD,aAAa;AAYzB;;;AAGM,SAAUI,YAAYA,CAC1BC,CAAI;EAkEJ,OAAOA,CAAC;AACV;AAeM,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;;AAChFD,OAAA,CAAAO,gBAAA,GAAAA,gBAAA;KAFEN,aAAa;AAIV,MAAgBiB,YAAY;AA8ClC;;;AAAAlB,OAAA,CAAAkB,YAAA,GAAAA,YAAA;AAGM,SAAUC,oBAAoBA,CAClCb,CAAwF;EAExF;AAAA;AAsIF;;;AAGM,SAAUc,QAAQA,CACtBd,CAAgE;EAEhE;AAAA"}
|
@@ -257,7 +257,7 @@ class ChannelExecutor {
|
|
257
257
|
void 0;
|
258
258
|
const currentChannel = this.currentChannel;
|
259
259
|
switch (currentChannel._tag) {
|
260
|
-
case
|
260
|
+
case 4 /* ChannelTag.Bridge */:
|
261
261
|
{
|
262
262
|
if (this.input !== null) {
|
263
263
|
const inputExecutor = this.input;
|
@@ -268,22 +268,22 @@ class ChannelExecutor {
|
|
268
268
|
case "Done" /* State.ChannelStateTag.Done */:
|
269
269
|
{
|
270
270
|
const done = inputExecutor.getDone();
|
271
|
-
return tsplus_module_3.match(cause => currentChannel.
|
271
|
+
return tsplus_module_3.match(cause => currentChannel.i0.error(cause), value => currentChannel.i0.done(value))(done);
|
272
272
|
}
|
273
273
|
case "Emit" /* State.ChannelStateTag.Emit */:
|
274
274
|
{
|
275
|
-
return tsplus_module_2.flatMap(() => drainer, fileName_1 + ":319:
|
275
|
+
return tsplus_module_2.flatMap(() => drainer, fileName_1 + ":319:89")(currentChannel.i0.emit(inputExecutor.getEmit()));
|
276
276
|
}
|
277
277
|
case "Effect" /* State.ChannelStateTag.Effect */:
|
278
278
|
{
|
279
|
-
return tsplus_module_2.matchCauseIO(cause => currentChannel.
|
279
|
+
return tsplus_module_2.matchCauseIO(cause => currentChannel.i0.error(cause), () => drainer, fileName_1 + ":322:59")(state.effect);
|
280
280
|
}
|
281
281
|
case "Read" /* State.ChannelStateTag.Read */:
|
282
282
|
{
|
283
|
-
return readUpstream(state, () => drainer, cause => currentChannel.
|
283
|
+
return readUpstream(state, () => drainer, cause => currentChannel.i0.error(cause));
|
284
284
|
}
|
285
285
|
}
|
286
|
-
}, fileName_1 + ":307:29"), fileName_1 + ":306:
|
286
|
+
}, fileName_1 + ":307:29"), fileName_1 + ":306:91")(currentChannel.i0.awaitRead);
|
287
287
|
result = new State.Effect(tsplus_module_2.flatMap(fiber => tsplus_module_2.succeed(() => {
|
288
288
|
this.addFinalizer(exit => tsplus_module_2.zipRight(tsplus_module_2.defer(() => {
|
289
289
|
const effect = this.restorePipe(exit, inputExecutor);
|
@@ -297,10 +297,10 @@ class ChannelExecutor {
|
|
297
297
|
}
|
298
298
|
break;
|
299
299
|
}
|
300
|
-
case
|
300
|
+
case 0 /* ChannelTag.PipeTo */:
|
301
301
|
{
|
302
302
|
const previousInput = this.input;
|
303
|
-
const leftExec = new ChannelExecutor(currentChannel.
|
303
|
+
const leftExec = new ChannelExecutor(currentChannel.i0, this.providedEnv, _ => this.executeCloseLastSubstream(_));
|
304
304
|
leftExec.input = previousInput;
|
305
305
|
this.input = leftExec;
|
306
306
|
this.addFinalizer(exit => {
|
@@ -311,34 +311,34 @@ class ChannelExecutor {
|
|
311
311
|
return tsplus_module_2.unit;
|
312
312
|
}
|
313
313
|
});
|
314
|
-
this.currentChannel = currentChannel.
|
314
|
+
this.currentChannel = currentChannel.i1();
|
315
315
|
break;
|
316
316
|
}
|
317
|
-
case
|
317
|
+
case 5 /* ChannelTag.Read */:
|
318
318
|
{
|
319
319
|
const read = currentChannel;
|
320
320
|
result = new State.Read(this.input, _function.identity, out => {
|
321
|
-
this.currentChannel = read.
|
321
|
+
this.currentChannel = read.i0(out);
|
322
322
|
return null;
|
323
323
|
}, exit => {
|
324
|
-
this.currentChannel = read.
|
324
|
+
this.currentChannel = tsplus_module_3.match(read.i1.i1, read.i1.i0)(exit);
|
325
325
|
return null;
|
326
326
|
});
|
327
327
|
break;
|
328
328
|
}
|
329
|
-
case
|
329
|
+
case 6 /* ChannelTag.Done */:
|
330
330
|
{
|
331
|
-
result = this.doneSucceed(currentChannel.
|
331
|
+
result = this.doneSucceed(currentChannel.i0());
|
332
332
|
break;
|
333
333
|
}
|
334
|
-
case
|
334
|
+
case 7 /* ChannelTag.Halt */:
|
335
335
|
{
|
336
|
-
result = this.doneHalt(currentChannel.
|
336
|
+
result = this.doneHalt(currentChannel.i0());
|
337
337
|
break;
|
338
338
|
}
|
339
|
-
case
|
339
|
+
case 8 /* ChannelTag.FromIO */:
|
340
340
|
{
|
341
|
-
const pio = this.providedEnv === null ? currentChannel.
|
341
|
+
const pio = this.providedEnv === null ? currentChannel.i0 : tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":404:59")(currentChannel.i0);
|
342
342
|
result = new State.Effect(tsplus_module_2.matchCauseIO(cause => {
|
343
343
|
const state = this.doneHalt(cause);
|
344
344
|
if (state !== null && state._tag === "Effect" /* State.ChannelStateTag.Effect */) {
|
@@ -356,52 +356,52 @@ class ChannelExecutor {
|
|
356
356
|
}, fileName_1 + ":406:35")(pio));
|
357
357
|
break;
|
358
358
|
}
|
359
|
-
case
|
359
|
+
case 10 /* ChannelTag.Defer */:
|
360
360
|
{
|
361
|
-
this.currentChannel = currentChannel.
|
361
|
+
this.currentChannel = currentChannel.i0();
|
362
362
|
break;
|
363
363
|
}
|
364
|
-
case
|
364
|
+
case 9 /* ChannelTag.Emit */:
|
365
365
|
{
|
366
|
-
this.emitted = currentChannel.
|
366
|
+
this.emitted = currentChannel.i0();
|
367
367
|
this.currentChannel = this.activeSubexecutor !== null ? null : tsplus_module_10.endNow(undefined);
|
368
368
|
result = State._Emit;
|
369
369
|
break;
|
370
370
|
}
|
371
|
-
case
|
371
|
+
case 11 /* ChannelTag.Ensuring */:
|
372
372
|
{
|
373
373
|
this.runEnsuring(currentChannel);
|
374
374
|
break;
|
375
375
|
}
|
376
|
-
case
|
376
|
+
case 12 /* ChannelTag.ConcatAll */:
|
377
377
|
{
|
378
378
|
const innerExecuteLastClose = f => tsplus_module_2.succeed(() => {
|
379
379
|
const prevLastClose = this.closeLastSubstream === null ? tsplus_module_2.unit : this.closeLastSubstream;
|
380
380
|
this.closeLastSubstream = tsplus_module_2.flatMap(() => f, fileName_1 + ":445:68")(prevLastClose);
|
381
381
|
}, fileName_1 + ":443:29");
|
382
|
-
const exec = new ChannelExecutor(() => currentChannel.
|
382
|
+
const exec = new ChannelExecutor(() => currentChannel.i4, this.providedEnv, innerExecuteLastClose);
|
383
383
|
exec.input = this.input;
|
384
|
-
this.activeSubexecutor = new PullFromUpstream(exec, currentChannel.
|
384
|
+
this.activeSubexecutor = new PullFromUpstream(exec, currentChannel.i5, null, tsplus_module_11.empty(), currentChannel.i0, currentChannel.i1, currentChannel.i2, currentChannel.i3);
|
385
385
|
this.closeLastSubstream = null;
|
386
386
|
this.currentChannel = null;
|
387
387
|
break;
|
388
388
|
}
|
389
|
-
case
|
389
|
+
case 3 /* ChannelTag.Fold */:
|
390
390
|
{
|
391
|
-
this.doneStack = tsplus_module_12.prepend(currentChannel.
|
392
|
-
this.currentChannel = currentChannel.
|
391
|
+
this.doneStack = tsplus_module_12.prepend(currentChannel.i1)(this.doneStack);
|
392
|
+
this.currentChannel = currentChannel.i0;
|
393
393
|
break;
|
394
394
|
}
|
395
|
-
case
|
395
|
+
case 13 /* ChannelTag.BracketOut */:
|
396
396
|
{
|
397
397
|
result = this.runBracketOut(currentChannel);
|
398
398
|
break;
|
399
399
|
}
|
400
|
-
case
|
400
|
+
case 14 /* ChannelTag.Provide */:
|
401
401
|
{
|
402
402
|
const previousEnv = this.providedEnv;
|
403
|
-
this.providedEnv = currentChannel.
|
404
|
-
this.currentChannel = currentChannel.
|
403
|
+
this.providedEnv = currentChannel.i0;
|
404
|
+
this.currentChannel = currentChannel.i1;
|
405
405
|
this.addFinalizer(() => tsplus_module_2.succeed(() => {
|
406
406
|
this.providedEnv = previousEnv;
|
407
407
|
}, fileName_1 + ":477:29"));
|
@@ -435,12 +435,12 @@ class ChannelExecutor {
|
|
435
435
|
const head = tsplus_module_12.unsafeHead(this.doneStack);
|
436
436
|
this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
|
437
437
|
(0, _definition3.concreteContinuation)(head);
|
438
|
-
if (head._tag ===
|
438
|
+
if (head._tag === 1 /* ChannelTag.ContinuationK */) {
|
439
439
|
acc_2 = acc_1;
|
440
440
|
acc_1 = acc_2;
|
441
441
|
continue;
|
442
442
|
} else {
|
443
|
-
acc_2 = tsplus_module_12.prepend(head.
|
443
|
+
acc_2 = tsplus_module_12.prepend(head.i0)(acc_1);
|
444
444
|
acc_1 = acc_2;
|
445
445
|
continue;
|
446
446
|
}
|
@@ -463,7 +463,7 @@ class ChannelExecutor {
|
|
463
463
|
} else {
|
464
464
|
const head = tsplus_module_12.unsafeHead(stack);
|
465
465
|
(0, _definition3.concreteContinuation)(head);
|
466
|
-
if (head._tag ===
|
466
|
+
if (head._tag === 1 /* ChannelTag.ContinuationK */) {
|
467
467
|
return stack;
|
468
468
|
} else {
|
469
469
|
builder.append(head);
|
@@ -683,9 +683,9 @@ class ChannelExecutor {
|
|
683
683
|
}
|
684
684
|
const head = tsplus_module_12.unsafeHead(this.doneStack);
|
685
685
|
(0, _definition3.concreteContinuation)(head);
|
686
|
-
if (head._tag ===
|
686
|
+
if (head._tag === 1 /* ChannelTag.ContinuationK */) {
|
687
687
|
this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
|
688
|
-
this.currentChannel = head.
|
688
|
+
this.currentChannel = head.i0(z);
|
689
689
|
return null;
|
690
690
|
} else {
|
691
691
|
const finalizers = this.popNextFinalizers();
|
@@ -695,7 +695,7 @@ class ChannelExecutor {
|
|
695
695
|
this.currentChannel = null;
|
696
696
|
return State._Done;
|
697
697
|
} else {
|
698
|
-
const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.
|
698
|
+
const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.i0)(finalizers), tsplus_module_5.succeed(z, fileName_1 + ":996:23"));
|
699
699
|
this.storeInProgressFinalizer(finalizerEffect);
|
700
700
|
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(() => {
|
701
701
|
this.clearInProgressFinalizer();
|
@@ -711,9 +711,9 @@ class ChannelExecutor {
|
|
711
711
|
}
|
712
712
|
const head = tsplus_module_12.unsafeHead(this.doneStack);
|
713
713
|
(0, _definition3.concreteContinuation)(head);
|
714
|
-
if (head._tag ===
|
714
|
+
if (head._tag === 1 /* ChannelTag.ContinuationK */) {
|
715
715
|
this.doneStack = tsplus_module_15.unsafeTail(this.doneStack);
|
716
|
-
this.currentChannel = head.
|
716
|
+
this.currentChannel = head.i1(cause);
|
717
717
|
return null;
|
718
718
|
} else {
|
719
719
|
const finalizers = this.popNextFinalizers();
|
@@ -723,7 +723,7 @@ class ChannelExecutor {
|
|
723
723
|
this.currentChannel = null;
|
724
724
|
return State._Done;
|
725
725
|
} else {
|
726
|
-
const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.
|
726
|
+
const finalizerEffect = this.runFinalizers(tsplus_module_12.map(_ => _.i0)(finalizers), tsplus_module_5.failCause(cause, fileName_1 + ":1036:25"));
|
727
727
|
this.storeInProgressFinalizer(finalizerEffect);
|
728
728
|
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(() => {
|
729
729
|
this.clearInProgressFinalizer();
|
@@ -732,26 +732,28 @@ class ChannelExecutor {
|
|
732
732
|
}
|
733
733
|
}
|
734
734
|
addFinalizer(f) {
|
735
|
-
|
735
|
+
const op = new _definition3.ChannelPrimitive(2 /* ChannelTag.ContinuationFinalizer */);
|
736
|
+
op.i0 = f;
|
737
|
+
this.doneStack = tsplus_module_12.prepend(op)(this.doneStack);
|
736
738
|
}
|
737
739
|
provide(io, __tsplusTrace) {
|
738
740
|
if (this.providedEnv === null) {
|
739
741
|
return io;
|
740
742
|
} else {
|
741
|
-
return tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":
|
743
|
+
return tsplus_module_9.provideEnvironment(this.providedEnv, fileName_1 + ":1065:35")(io);
|
742
744
|
}
|
743
745
|
}
|
744
746
|
runBracketOut(bracketOut) {
|
745
747
|
return new State.Effect(tsplus_module_17.uninterruptible(tsplus_module_2.matchCauseIO(cause => tsplus_module_2.succeed(() => {
|
746
748
|
this.currentChannel = tsplus_module_10.failCause(() => cause);
|
747
|
-
}, fileName_1 + ":
|
748
|
-
this.addFinalizer(e => this.provide(bracketOut.
|
749
|
+
}, fileName_1 + ":1074:23"), out => tsplus_module_2.succeed(() => {
|
750
|
+
this.addFinalizer(e => this.provide(bracketOut.i1(out, e), fileName_1 + ":1079:52"));
|
749
751
|
this.currentChannel = tsplus_module_24.write(() => out);
|
750
|
-
}, fileName_1 + ":
|
752
|
+
}, fileName_1 + ":1078:23"), fileName_1 + ":1072:49")(this.provide(bracketOut.i0, fileName_1 + ":1072:21")), fileName_1 + ":1071:25"));
|
751
753
|
}
|
752
754
|
runEnsuring(ensuring) {
|
753
|
-
this.addFinalizer(ensuring.
|
754
|
-
this.currentChannel = ensuring.
|
755
|
+
this.addFinalizer(ensuring.i1);
|
756
|
+
this.currentChannel = ensuring.i0;
|
755
757
|
}
|
756
758
|
}
|
757
759
|
exports.ChannelExecutor = ChannelExecutor;
|