@fncts/io 0.0.38 → 0.0.39
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.
- 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
|
@@ -4,21 +4,21 @@ import type { UpstreamPullRequest } from "./UpstreamPullRequest.js";
|
|
|
4
4
|
import type { UpstreamPullStrategy } from "./UpstreamPullStrategy.js";
|
|
5
5
|
|
|
6
6
|
export const enum ChannelTag {
|
|
7
|
-
PipeTo
|
|
8
|
-
ContinuationK
|
|
9
|
-
ContinuationFinalizer
|
|
10
|
-
Fold
|
|
11
|
-
Bridge
|
|
12
|
-
Read
|
|
13
|
-
Done
|
|
14
|
-
Halt
|
|
15
|
-
FromIO
|
|
16
|
-
Emit
|
|
17
|
-
Defer
|
|
18
|
-
Ensuring
|
|
19
|
-
ConcatAll
|
|
20
|
-
BracketOut
|
|
21
|
-
Provide
|
|
7
|
+
PipeTo,
|
|
8
|
+
ContinuationK,
|
|
9
|
+
ContinuationFinalizer,
|
|
10
|
+
Fold,
|
|
11
|
+
Bridge,
|
|
12
|
+
Read,
|
|
13
|
+
Done,
|
|
14
|
+
Halt,
|
|
15
|
+
FromIO,
|
|
16
|
+
Emit,
|
|
17
|
+
Defer,
|
|
18
|
+
Ensuring,
|
|
19
|
+
ConcatAll,
|
|
20
|
+
BracketOut,
|
|
21
|
+
Provide,
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export const ChannelVariance = Symbol.for("fncts.io.Channel.Variance");
|
|
@@ -117,6 +117,31 @@ export function unifyChannel<X extends Channel<any, any, any, any, any, any, any
|
|
|
117
117
|
return _;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
export type ChannelOp<Tag extends string | number, Body = {}> = Channel<
|
|
121
|
+
any,
|
|
122
|
+
unknown,
|
|
123
|
+
unknown,
|
|
124
|
+
unknown,
|
|
125
|
+
never,
|
|
126
|
+
never,
|
|
127
|
+
never
|
|
128
|
+
> &
|
|
129
|
+
Body & {
|
|
130
|
+
readonly _tag: Tag;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export class ChannelPrimitive {
|
|
134
|
+
public i0: any = undefined;
|
|
135
|
+
public i1: any = undefined;
|
|
136
|
+
public i2: any = undefined;
|
|
137
|
+
public i3: any = undefined;
|
|
138
|
+
public i4: any = undefined;
|
|
139
|
+
public i5: any = undefined;
|
|
140
|
+
public trace: string | undefined = undefined;
|
|
141
|
+
[ChannelTypeId] = ChannelTypeId;
|
|
142
|
+
constructor(readonly _tag: Primitive["_tag"] | ContinuationPrimitive["_tag"]) {}
|
|
143
|
+
}
|
|
144
|
+
|
|
120
145
|
export abstract class Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {
|
|
121
146
|
readonly _Env!: () => Env;
|
|
122
147
|
readonly _InErr!: (_: InErr) => void;
|
|
@@ -129,259 +154,185 @@ export abstract class Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2,
|
|
|
129
154
|
readonly _OutDone2!: () => OutDone2;
|
|
130
155
|
}
|
|
131
156
|
|
|
132
|
-
export
|
|
133
|
-
|
|
134
|
-
InErr,
|
|
135
|
-
InElem,
|
|
136
|
-
InDone,
|
|
137
|
-
OutErr,
|
|
138
|
-
OutErr2,
|
|
139
|
-
OutElem,
|
|
140
|
-
OutDone,
|
|
141
|
-
OutDone2,
|
|
142
|
-
> extends Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {
|
|
143
|
-
readonly _tag = ChannelTag.ContinuationK;
|
|
144
|
-
constructor(
|
|
145
|
-
readonly onSuccess: (_: OutDone) => Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>,
|
|
146
|
-
readonly onHalt: (_: Cause<OutErr>) => Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>,
|
|
147
|
-
) {
|
|
148
|
-
super();
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
onExit(exit: Exit<OutErr, OutDone>): Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2> {
|
|
152
|
-
return exit.match(this.onHalt, this.onSuccess);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export class ContinuationFinalizer<Env, OutErr, OutDone> extends Continuation<
|
|
157
|
-
Env,
|
|
157
|
+
export type ChannelContinuationOp<Tag extends string | number, Body = {}> = Continuation<
|
|
158
|
+
never,
|
|
158
159
|
unknown,
|
|
159
160
|
unknown,
|
|
160
161
|
unknown,
|
|
161
|
-
|
|
162
|
+
any,
|
|
162
163
|
never,
|
|
163
164
|
never,
|
|
164
|
-
|
|
165
|
+
any,
|
|
165
166
|
never
|
|
166
|
-
>
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
167
|
+
> &
|
|
168
|
+
Body & {
|
|
169
|
+
readonly _tag: Tag;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export interface ContinuationK
|
|
173
|
+
extends ChannelContinuationOp<
|
|
174
|
+
ChannelTag.ContinuationK,
|
|
175
|
+
{
|
|
176
|
+
readonly i0: (_: any) => Primitive;
|
|
177
|
+
readonly i1: (_: Cause<any>) => Primitive;
|
|
178
|
+
}
|
|
179
|
+
> {}
|
|
180
|
+
|
|
181
|
+
export interface ContinuationFinalizer
|
|
182
|
+
extends ChannelContinuationOp<
|
|
183
|
+
ChannelTag.ContinuationFinalizer,
|
|
184
|
+
{
|
|
185
|
+
readonly i0: (_: Exit<any, any>) => URIO<any, any>;
|
|
186
|
+
}
|
|
187
|
+
> {}
|
|
188
|
+
|
|
189
|
+
export type ContinuationPrimitive = ContinuationK | ContinuationFinalizer;
|
|
172
190
|
|
|
173
191
|
/**
|
|
174
192
|
* @optimize remove
|
|
175
193
|
*/
|
|
176
194
|
export function concreteContinuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>(
|
|
177
195
|
_: Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>,
|
|
178
|
-
): asserts _ is
|
|
179
|
-
| ContinuationK<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>
|
|
180
|
-
| ContinuationFinalizer<Env, OutErr, OutDone> {
|
|
196
|
+
): asserts _ is ContinuationK | ContinuationFinalizer {
|
|
181
197
|
//
|
|
182
198
|
}
|
|
183
199
|
|
|
184
|
-
export
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
> {
|
|
193
|
-
readonly _tag = ChannelTag.PipeTo;
|
|
194
|
-
constructor(
|
|
195
|
-
readonly left: () => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
|
|
196
|
-
readonly right: () => Channel<Env, OutErr, OutElem, OutDone, OutErr2, OutElem2, OutDone2>,
|
|
197
|
-
) {
|
|
198
|
-
super();
|
|
199
|
-
}
|
|
200
|
-
}
|
|
200
|
+
export interface PipeTo
|
|
201
|
+
extends ChannelOp<
|
|
202
|
+
ChannelTag.PipeTo,
|
|
203
|
+
{
|
|
204
|
+
readonly i0: () => Primitive;
|
|
205
|
+
readonly i1: () => Primitive;
|
|
206
|
+
}
|
|
207
|
+
> {}
|
|
201
208
|
|
|
202
|
-
export
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
> {
|
|
211
|
-
readonly _tag = ChannelTag.Fold;
|
|
212
|
-
constructor(
|
|
213
|
-
readonly value: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
|
|
214
|
-
readonly k: ContinuationK<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>,
|
|
215
|
-
) {
|
|
216
|
-
super();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
209
|
+
export interface Fold
|
|
210
|
+
extends ChannelOp<
|
|
211
|
+
ChannelTag.Fold,
|
|
212
|
+
{
|
|
213
|
+
readonly i0: Primitive;
|
|
214
|
+
readonly i1: ContinuationK;
|
|
215
|
+
}
|
|
216
|
+
> {}
|
|
219
217
|
|
|
220
|
-
export
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
> {
|
|
229
|
-
readonly _tag = ChannelTag.Read;
|
|
230
|
-
constructor(
|
|
231
|
-
readonly more: (_: InElem) => Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>,
|
|
232
|
-
readonly done: ContinuationK<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>,
|
|
233
|
-
) {
|
|
234
|
-
super();
|
|
235
|
-
}
|
|
236
|
-
}
|
|
218
|
+
export interface Read
|
|
219
|
+
extends ChannelOp<
|
|
220
|
+
ChannelTag.Read,
|
|
221
|
+
{
|
|
222
|
+
readonly i0: (_: any) => Primitive;
|
|
223
|
+
readonly i1: ContinuationK;
|
|
224
|
+
}
|
|
225
|
+
> {}
|
|
237
226
|
|
|
238
|
-
export
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
227
|
+
export interface Done
|
|
228
|
+
extends ChannelOp<
|
|
229
|
+
ChannelTag.Done,
|
|
230
|
+
{
|
|
231
|
+
readonly i0: () => any;
|
|
232
|
+
}
|
|
233
|
+
> {}
|
|
244
234
|
|
|
245
|
-
export
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
235
|
+
export interface Fail
|
|
236
|
+
extends ChannelOp<
|
|
237
|
+
ChannelTag.Halt,
|
|
238
|
+
{
|
|
239
|
+
readonly i0: () => Cause<any>;
|
|
240
|
+
}
|
|
241
|
+
> {}
|
|
251
242
|
|
|
252
|
-
export
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
243
|
+
export interface FromIO
|
|
244
|
+
extends ChannelOp<
|
|
245
|
+
ChannelTag.FromIO,
|
|
246
|
+
{
|
|
247
|
+
readonly i0: IO<any, any, any>;
|
|
248
|
+
}
|
|
249
|
+
> {}
|
|
258
250
|
|
|
259
|
-
export
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
OutDone
|
|
267
|
-
> {
|
|
268
|
-
readonly _tag = ChannelTag.Defer;
|
|
269
|
-
constructor(readonly effect: () => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>) {
|
|
270
|
-
super();
|
|
271
|
-
}
|
|
272
|
-
}
|
|
251
|
+
export interface Defer
|
|
252
|
+
extends ChannelOp<
|
|
253
|
+
ChannelTag.Defer,
|
|
254
|
+
{
|
|
255
|
+
readonly i0: () => Primitive;
|
|
256
|
+
}
|
|
257
|
+
> {}
|
|
273
258
|
|
|
274
|
-
export
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
> {
|
|
283
|
-
readonly _tag = ChannelTag.Ensuring;
|
|
284
|
-
constructor(
|
|
285
|
-
readonly channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
|
|
286
|
-
readonly finalizer: (_: Exit<OutErr, OutDone>) => IO<Env, never, any>,
|
|
287
|
-
) {
|
|
288
|
-
super();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
259
|
+
export interface Ensuring
|
|
260
|
+
extends ChannelOp<
|
|
261
|
+
ChannelTag.Ensuring,
|
|
262
|
+
{
|
|
263
|
+
readonly i0: Primitive;
|
|
264
|
+
readonly i1: (_: Exit<any, any>) => URIO<any, any>;
|
|
265
|
+
}
|
|
266
|
+
> {}
|
|
291
267
|
|
|
292
|
-
export
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
>
|
|
304
|
-
readonly _tag = ChannelTag.ConcatAll;
|
|
305
|
-
constructor(
|
|
306
|
-
readonly combineInners: (_: OutDone, __: OutDone) => OutDone,
|
|
307
|
-
readonly combineAll: (_: OutDone, __: OutDone2) => OutDone3,
|
|
308
|
-
readonly onPull: (_: UpstreamPullRequest<OutElem>) => UpstreamPullStrategy<OutElem2>,
|
|
309
|
-
readonly onEmit: (_: OutElem2) => ChildExecutorDecision,
|
|
310
|
-
readonly value: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>,
|
|
311
|
-
readonly k: (_: OutElem) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem2, OutDone>,
|
|
312
|
-
) {
|
|
313
|
-
super();
|
|
314
|
-
}
|
|
315
|
-
}
|
|
268
|
+
export interface ConcatAll
|
|
269
|
+
extends ChannelOp<
|
|
270
|
+
ChannelTag.ConcatAll,
|
|
271
|
+
{
|
|
272
|
+
readonly i0: (_: any, __: any) => any;
|
|
273
|
+
readonly i1: (_: any, __: any) => any;
|
|
274
|
+
readonly i2: (_: UpstreamPullRequest<any>) => UpstreamPullStrategy<any>;
|
|
275
|
+
readonly i3: (_: any) => ChildExecutorDecision;
|
|
276
|
+
readonly i4: Primitive;
|
|
277
|
+
readonly i5: (_: any) => Primitive;
|
|
278
|
+
}
|
|
279
|
+
> {}
|
|
316
280
|
|
|
317
|
-
export
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
281
|
+
export interface BracketOut
|
|
282
|
+
extends ChannelOp<
|
|
283
|
+
ChannelTag.BracketOut,
|
|
284
|
+
{
|
|
285
|
+
readonly i0: IO<any, any, any>;
|
|
286
|
+
readonly i1: (_: any, __: Exit<any, any>) => URIO<any, any>;
|
|
287
|
+
}
|
|
288
|
+
> {}
|
|
323
289
|
|
|
324
|
-
export
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
> {
|
|
333
|
-
readonly _tag = ChannelTag.Provide;
|
|
334
|
-
constructor(
|
|
335
|
-
readonly environment: Environment<Env>,
|
|
336
|
-
readonly inner: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
|
|
337
|
-
) {
|
|
338
|
-
super();
|
|
339
|
-
}
|
|
340
|
-
}
|
|
290
|
+
export interface Provide
|
|
291
|
+
extends ChannelOp<
|
|
292
|
+
ChannelTag.Provide,
|
|
293
|
+
{
|
|
294
|
+
readonly i0: Environment<any>;
|
|
295
|
+
readonly i1: Primitive;
|
|
296
|
+
}
|
|
297
|
+
> {}
|
|
341
298
|
|
|
342
|
-
export
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
299
|
+
export interface Emit
|
|
300
|
+
extends ChannelOp<
|
|
301
|
+
ChannelTag.Emit,
|
|
302
|
+
{
|
|
303
|
+
readonly i0: () => any;
|
|
304
|
+
}
|
|
305
|
+
> {}
|
|
348
306
|
|
|
349
|
-
export
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
307
|
+
export interface Bridge
|
|
308
|
+
extends ChannelOp<
|
|
309
|
+
ChannelTag.Bridge,
|
|
310
|
+
{
|
|
311
|
+
readonly i0: AsyncInputProducer<any, any, any>;
|
|
312
|
+
readonly i1: Primitive;
|
|
313
|
+
}
|
|
314
|
+
> {}
|
|
315
|
+
|
|
316
|
+
export type Primitive =
|
|
317
|
+
| PipeTo
|
|
318
|
+
| Read
|
|
319
|
+
| Done
|
|
320
|
+
| Fail
|
|
321
|
+
| FromIO
|
|
322
|
+
| Emit
|
|
323
|
+
| ConcatAll
|
|
324
|
+
| Bridge
|
|
325
|
+
| Fold
|
|
326
|
+
| Provide
|
|
327
|
+
| BracketOut
|
|
328
|
+
| Ensuring
|
|
329
|
+
| Defer;
|
|
366
330
|
|
|
367
331
|
/**
|
|
368
332
|
* @tsplus macro remove
|
|
369
333
|
*/
|
|
370
334
|
export function concrete<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(
|
|
371
335
|
_: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>,
|
|
372
|
-
): asserts _ is
|
|
373
|
-
| PipeTo<Env, InErr, InElem, InDone, OutErr, any, OutElem, any, OutDone, any>
|
|
374
|
-
| Read<Env, InErr, InElem, InDone, OutErr, any, OutElem, OutDone, any>
|
|
375
|
-
| Done<OutDone>
|
|
376
|
-
| Fail<OutErr>
|
|
377
|
-
| FromIO<Env, OutErr, OutDone>
|
|
378
|
-
| Emit<OutElem, OutDone>
|
|
379
|
-
| ConcatAll<Env, InErr, InElem, InDone, OutErr, any, OutElem, any, OutDone, any>
|
|
380
|
-
| Bridge<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>
|
|
381
|
-
| Fold<Env, InErr, InElem, InDone, OutErr, any, OutElem, OutDone, any>
|
|
382
|
-
| Provide<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>
|
|
383
|
-
| BracketOut<Env, OutErr, OutElem, OutDone>
|
|
384
|
-
| Ensuring<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>
|
|
385
|
-
| Defer<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone> {
|
|
336
|
+
): asserts _ is Primitive {
|
|
386
337
|
//
|
|
387
338
|
}
|