effect 3.9.2 → 3.10.1
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/Arbitrary/package.json +6 -0
- package/FastCheck/package.json +6 -0
- package/JSONSchema/package.json +6 -0
- package/ParseResult/package.json +6 -0
- package/Pretty/package.json +6 -0
- package/Schema/package.json +6 -0
- package/SchemaAST/package.json +6 -0
- package/TSubscriptionRef/package.json +6 -0
- package/dist/cjs/Arbitrary.js +490 -0
- package/dist/cjs/Arbitrary.js.map +1 -0
- package/dist/cjs/Effect.js +247 -16
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FastCheck.js +17 -0
- package/dist/cjs/FastCheck.js.map +1 -0
- package/dist/cjs/Inspectable.js +43 -3
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/JSONSchema.js +418 -0
- package/dist/cjs/JSONSchema.js.map +1 -0
- package/dist/cjs/ParseResult.js +1539 -0
- package/dist/cjs/ParseResult.js.map +1 -0
- package/dist/cjs/Predicate.js +3 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Pretty.js +183 -0
- package/dist/cjs/Pretty.js.map +1 -0
- package/dist/cjs/Schema.js +5529 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/SchemaAST.js +2365 -0
- package/dist/cjs/SchemaAST.js.map +1 -0
- package/dist/cjs/Stream.js +17 -3
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/TPubSub.js +9 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSubscriptionRef.js +96 -0
- package/dist/cjs/TSubscriptionRef.js.map +1 -0
- package/dist/cjs/index.js +18 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cause.js +2 -2
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +160 -161
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/core.js +4 -4
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +14 -12
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/logger.js +7 -6
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/redacted.js +4 -0
- package/dist/cjs/internal/redacted.js.map +1 -1
- package/dist/cjs/internal/schema/errors.js +116 -0
- package/dist/cjs/internal/schema/errors.js.map +1 -0
- package/dist/cjs/internal/schema/filters.js +41 -0
- package/dist/cjs/internal/schema/filters.js.map +1 -0
- package/dist/cjs/internal/schema/util.js +96 -0
- package/dist/cjs/internal/schema/util.js.map +1 -0
- package/dist/cjs/internal/stm/core.js +2 -3
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +1 -2
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +6 -2
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSubscriptionRef.js +178 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/cjs/internal/stream.js +36 -16
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Arbitrary.d.ts +45 -0
- package/dist/dts/Arbitrary.d.ts.map +1 -0
- package/dist/dts/Effect.d.ts +298 -30
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FastCheck.d.ts +9 -0
- package/dist/dts/FastCheck.d.ts.map +1 -0
- package/dist/dts/Inspectable.d.ts +28 -0
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/JSONSchema.d.ts +181 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -0
- package/dist/dts/ParseResult.d.ts +551 -0
- package/dist/dts/ParseResult.d.ts.map +1 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Pretty.d.ts +26 -0
- package/dist/dts/Pretty.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +4562 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/SchemaAST.d.ts +1321 -0
- package/dist/dts/SchemaAST.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +67 -2
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +8 -0
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +7 -7
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +2 -1
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSubscriptionRef.d.ts +251 -0
- package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/index.d.ts +32 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/schema/errors.d.ts +2 -0
- package/dist/dts/internal/schema/errors.d.ts.map +1 -0
- package/dist/dts/internal/schema/filters.d.ts +2 -0
- package/dist/dts/internal/schema/filters.d.ts.map +1 -0
- package/dist/dts/internal/schema/util.d.ts +2 -0
- package/dist/dts/internal/schema/util.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRef.d.ts +3 -1
- package/dist/dts/internal/stm/tRef.d.ts.map +1 -1
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Arbitrary.js +472 -0
- package/dist/esm/Arbitrary.js.map +1 -0
- package/dist/esm/Effect.js +256 -18
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FastCheck.js +9 -0
- package/dist/esm/FastCheck.js.map +1 -0
- package/dist/esm/Inspectable.js +39 -2
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/JSONSchema.js +408 -0
- package/dist/esm/JSONSchema.js.map +1 -0
- package/dist/esm/ParseResult.js +1503 -0
- package/dist/esm/ParseResult.js.map +1 -0
- package/dist/esm/Predicate.js +2 -1
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Pretty.js +173 -0
- package/dist/esm/Pretty.js.map +1 -0
- package/dist/esm/Schema.js +5328 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/SchemaAST.js +2300 -0
- package/dist/esm/SchemaAST.js.map +1 -0
- package/dist/esm/Stream.js +14 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/TPubSub.js +8 -0
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSubscriptionRef.js +87 -0
- package/dist/esm/TSubscriptionRef.js.map +1 -0
- package/dist/esm/index.js +32 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +3 -3
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +160 -161
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/core.js +4 -4
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +14 -12
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/logger.js +7 -6
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/redacted.js +4 -0
- package/dist/esm/internal/redacted.js.map +1 -1
- package/dist/esm/internal/schema/errors.js +87 -0
- package/dist/esm/internal/schema/errors.js.map +1 -0
- package/dist/esm/internal/schema/filters.js +35 -0
- package/dist/esm/internal/schema/filters.js.map +1 -0
- package/dist/esm/internal/schema/util.js +78 -0
- package/dist/esm/internal/schema/util.js.map +1 -0
- package/dist/esm/internal/stm/core.js +1 -2
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js +1 -2
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js +5 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/esm/internal/stream.js +33 -15
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +68 -1
- package/src/Arbitrary.ts +563 -0
- package/src/Effect.ts +302 -31
- package/src/FastCheck.ts +9 -0
- package/src/Inspectable.ts +56 -2
- package/src/JSONSchema.ts +601 -0
- package/src/ParseResult.ts +2027 -0
- package/src/Predicate.ts +3 -1
- package/src/Pretty.ts +204 -0
- package/src/Schema.ts +10388 -0
- package/src/SchemaAST.ts +2827 -0
- package/src/Stream.ts +77 -9
- package/src/TPubSub.ts +9 -0
- package/src/TQueue.ts +7 -7
- package/src/TRef.ts +2 -1
- package/src/TSubscriptionRef.ts +284 -0
- package/src/index.ts +40 -0
- package/src/internal/cause.ts +3 -3
- package/src/internal/channel/channelExecutor.ts +213 -214
- package/src/internal/core-effect.ts +2 -2
- package/src/internal/core.ts +4 -4
- package/src/internal/fiberRuntime.ts +14 -12
- package/src/internal/logger.ts +7 -6
- package/src/internal/redacted.ts +4 -0
- package/src/internal/schema/errors.ts +189 -0
- package/src/internal/schema/filters.ts +86 -0
- package/src/internal/schema/util.ts +113 -0
- package/src/internal/stm/core.ts +1 -2
- package/src/internal/stm/tPubSub.ts +1 -0
- package/src/internal/stm/tQueue.ts +2 -2
- package/src/internal/stm/tRef.ts +7 -2
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stream.ts +97 -20
- package/src/internal/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cause.js","names":["Arr","Chunk","Either","Equal","constFalse","constTrue","dual","identity","pipe","globalValue","Hash","HashSet","NodeInspectSymbol","toJSON","Option","pipeArguments","hasProperty","isFunction","getBugErrorMessage","OpCodes","CauseSymbolKey","CauseTypeId","Symbol","for","variance","_E","_","proto","symbol","hash","combine","flattenCause","cached","that","isCause","causeEquals","arguments","_tag","_id","defect","fiberId","failure","error","left","right","toString","pretty","empty","o","Object","create","OP_EMPTY","fail","OP_FAIL","die","OP_DIE","interrupt","OP_INTERRUPT","parallel","OP_PARALLEL","sequential","OP_SEQUENTIAL","u","isEmptyType","self","isFailType","isDieType","isInterruptType","isSequentialType","isParallelType","size","reduceWithContext","SizeCauseReducer","isEmpty","reduce","acc","cause","some","none","isFailure","isSome","failureOption","isDie","dieOption","isInterrupted","interruptOption","isInterruptedOnly","undefined","IsInterruptedOnlyCauseReducer","failures","reverse","list","prepend","defects","interruptors","set","add","find","failureOrCause","option","value","flipCauseOption","match","onEmpty","onFail","map","onDie","onInterrupt","onSequential","isNone","onParallel","keepDefects","keepDefectsAndElectFailures","linearize","make","leftSet","rightSet","flatMap","leftCause","rightCause","stripFailures","electFailures","stripSomeDefects","pf","as","f","e","flatten","andThen","contains","accumulator","leftStack","of","rightStack","isNonEmpty","leftParallel","leftSequential","headNonEmpty","par","seq","evaluateCause","union","appendAll","rightParallel","rightSequential","equals","flattenCauseLoop","causes","flattened","updated","Error","stack","length","item","pop","push","filter","predicate","FilterCauseReducer","_parallel","_sequential","emptyCase","failCase","dieCase","interruptCase","sequentialCase","parallelCase","OP_SEQUENTIAL_CASE","OP_PARALLEL_CASE","zero","context","reducer","input","output","either","options","prettyErrors","renderErrorCause","join","prefix","lines","split","i","len","PrettyError","globalThis","span","constructor","originalError","originalErrorIsObject","prevLimit","stackTraceLimit","prettyErrorMessage","message","name","spanSymbol","keys","forEach","key","prettyErrorStack","prototype","Array","JSON","stringify","locationRegex","spanToTrace","WeakMap","out","startsWith","slice","includes","replace","current","stackFn","get","locationMatch","location","getOrUndefined","parent","unknownError","l","r"],"sources":["../../../src/internal/cause.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"cause.js","names":["Arr","Chunk","Either","Equal","constFalse","constTrue","dual","identity","pipe","globalValue","Hash","HashSet","NodeInspectSymbol","stringifyCircular","toJSON","Option","pipeArguments","hasProperty","isFunction","getBugErrorMessage","OpCodes","CauseSymbolKey","CauseTypeId","Symbol","for","variance","_E","_","proto","symbol","hash","combine","flattenCause","cached","that","isCause","causeEquals","arguments","_tag","_id","defect","fiberId","failure","error","left","right","toString","pretty","empty","o","Object","create","OP_EMPTY","fail","OP_FAIL","die","OP_DIE","interrupt","OP_INTERRUPT","parallel","OP_PARALLEL","sequential","OP_SEQUENTIAL","u","isEmptyType","self","isFailType","isDieType","isInterruptType","isSequentialType","isParallelType","size","reduceWithContext","SizeCauseReducer","isEmpty","reduce","acc","cause","some","none","isFailure","isSome","failureOption","isDie","dieOption","isInterrupted","interruptOption","isInterruptedOnly","undefined","IsInterruptedOnlyCauseReducer","failures","reverse","list","prepend","defects","interruptors","set","add","find","failureOrCause","option","value","flipCauseOption","match","onEmpty","onFail","map","onDie","onInterrupt","onSequential","isNone","onParallel","keepDefects","keepDefectsAndElectFailures","linearize","make","leftSet","rightSet","flatMap","leftCause","rightCause","stripFailures","electFailures","stripSomeDefects","pf","as","f","e","flatten","andThen","contains","accumulator","leftStack","of","rightStack","isNonEmpty","leftParallel","leftSequential","headNonEmpty","par","seq","evaluateCause","union","appendAll","rightParallel","rightSequential","equals","flattenCauseLoop","causes","flattened","updated","Error","stack","length","item","pop","push","filter","predicate","FilterCauseReducer","_parallel","_sequential","emptyCase","failCase","dieCase","interruptCase","sequentialCase","parallelCase","OP_SEQUENTIAL_CASE","OP_PARALLEL_CASE","zero","context","reducer","input","output","either","options","prettyErrors","renderErrorCause","join","prefix","lines","split","i","len","PrettyError","globalThis","span","constructor","originalError","originalErrorIsObject","prevLimit","stackTraceLimit","prettyErrorMessage","message","name","spanSymbol","keys","forEach","key","prettyErrorStack","prototype","Array","locationRegex","spanToTrace","WeakMap","out","startsWith","slice","includes","replace","current","stackFn","get","locationMatch","location","getOrUndefined","parent","unknownError","l","r"],"sources":["../../../src/internal/cause.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -49,171 +49,170 @@ export class ChannelExecutor {
|
|
|
49
49
|
} else {
|
|
50
50
|
if (Effect.isEffect(this._currentChannel)) {
|
|
51
51
|
this._currentChannel = core.fromEffect(this._currentChannel);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
result = ChannelState.fromEffect(Effect.flatMap(Effect.forkDaemon(drainer()), fiber => Effect.sync(() => this.addFinalizer(exit => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.suspend(() => {
|
|
97
|
-
const effect = this.restorePipe(exit, inputExecutor);
|
|
98
|
-
return effect !== undefined ? effect : Effect.void;
|
|
99
|
-
}))))));
|
|
100
|
-
}
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
case ChannelOpCodes.OP_CONCAT_ALL:
|
|
104
|
-
{
|
|
105
|
-
const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => Effect.sync(() => {
|
|
106
|
-
const prevLastClose = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
|
|
107
|
-
this._closeLastSubstream = pipe(prevLastClose, Effect.zipRight(effect));
|
|
108
|
-
}));
|
|
109
|
-
executor._input = this._input;
|
|
110
|
-
const channel = this._currentChannel;
|
|
111
|
-
this._activeSubexecutor = new Subexecutor.PullFromUpstream(executor, value => channel.k(value), undefined, [], (x, y) => channel.combineInners(x, y), (x, y) => channel.combineAll(x, y), request => channel.onPull(request), value => channel.onEmit(value));
|
|
112
|
-
this._closeLastSubstream = undefined;
|
|
113
|
-
this._currentChannel = undefined;
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
116
|
-
case ChannelOpCodes.OP_EMIT:
|
|
117
|
-
{
|
|
118
|
-
this._emitted = this._currentChannel.out;
|
|
119
|
-
this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.void;
|
|
120
|
-
result = ChannelState.Emit();
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
case ChannelOpCodes.OP_ENSURING:
|
|
124
|
-
{
|
|
125
|
-
this.runEnsuring(this._currentChannel);
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
case ChannelOpCodes.OP_FAIL:
|
|
129
|
-
{
|
|
130
|
-
result = this.doneHalt(this._currentChannel.error());
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
133
|
-
case ChannelOpCodes.OP_FOLD:
|
|
134
|
-
{
|
|
135
|
-
this._doneStack.push(this._currentChannel.k);
|
|
136
|
-
this._currentChannel = this._currentChannel.channel;
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
case ChannelOpCodes.OP_FROM_EFFECT:
|
|
140
|
-
{
|
|
141
|
-
const effect = this._providedEnv === undefined ? this._currentChannel.effect() : pipe(this._currentChannel.effect(), Effect.provide(this._providedEnv));
|
|
142
|
-
result = ChannelState.fromEffect(Effect.matchCauseEffect(effect, {
|
|
143
|
-
onFailure: cause => {
|
|
144
|
-
const state = this.doneHalt(cause);
|
|
145
|
-
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
146
|
-
},
|
|
147
|
-
onSuccess: value => {
|
|
148
|
-
const state = this.doneSucceed(value);
|
|
149
|
-
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
52
|
+
}
|
|
53
|
+
switch (this._currentChannel._tag) {
|
|
54
|
+
case ChannelOpCodes.OP_BRACKET_OUT:
|
|
55
|
+
{
|
|
56
|
+
result = this.runBracketOut(this._currentChannel);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
case ChannelOpCodes.OP_BRIDGE:
|
|
60
|
+
{
|
|
61
|
+
const bridgeInput = this._currentChannel.input;
|
|
62
|
+
// PipeTo(left, Bridge(queue, channel))
|
|
63
|
+
// In a fiber: repeatedly run left and push its outputs to the queue
|
|
64
|
+
// Add a finalizer to interrupt the fiber and close the executor
|
|
65
|
+
this._currentChannel = this._currentChannel.channel;
|
|
66
|
+
if (this._input !== undefined) {
|
|
67
|
+
const inputExecutor = this._input;
|
|
68
|
+
this._input = undefined;
|
|
69
|
+
const drainer = () => Effect.flatMap(bridgeInput.awaitRead(), () => Effect.suspend(() => {
|
|
70
|
+
const state = inputExecutor.run();
|
|
71
|
+
switch (state._tag) {
|
|
72
|
+
case ChannelStateOpCodes.OP_DONE:
|
|
73
|
+
{
|
|
74
|
+
return Exit.match(inputExecutor.getDone(), {
|
|
75
|
+
onFailure: cause => bridgeInput.error(cause),
|
|
76
|
+
onSuccess: value => bridgeInput.done(value)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
case ChannelStateOpCodes.OP_EMIT:
|
|
80
|
+
{
|
|
81
|
+
return Effect.flatMap(bridgeInput.emit(inputExecutor.getEmit()), () => drainer());
|
|
82
|
+
}
|
|
83
|
+
case ChannelStateOpCodes.OP_FROM_EFFECT:
|
|
84
|
+
{
|
|
85
|
+
return Effect.matchCauseEffect(state.effect, {
|
|
86
|
+
onFailure: cause => bridgeInput.error(cause),
|
|
87
|
+
onSuccess: () => drainer()
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
case ChannelStateOpCodes.OP_READ:
|
|
91
|
+
{
|
|
92
|
+
return readUpstream(state, () => drainer(), cause => bridgeInput.error(cause));
|
|
93
|
+
}
|
|
150
94
|
}
|
|
151
95
|
}));
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
case ChannelOpCodes.OP_PIPE_TO:
|
|
155
|
-
{
|
|
156
|
-
const previousInput = this._input;
|
|
157
|
-
const leftExec = new ChannelExecutor(this._currentChannel.left(), this._providedEnv, effect => this._executeCloseLastSubstream(effect));
|
|
158
|
-
leftExec._input = previousInput;
|
|
159
|
-
this._input = leftExec;
|
|
160
|
-
this.addFinalizer(exit => {
|
|
161
|
-
const effect = this.restorePipe(exit, previousInput);
|
|
96
|
+
result = ChannelState.fromEffect(Effect.flatMap(Effect.forkDaemon(Effect.interruptible(drainer())), fiber => Effect.sync(() => this.addFinalizer(exit => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.suspend(() => {
|
|
97
|
+
const effect = this.restorePipe(exit, inputExecutor);
|
|
162
98
|
return effect !== undefined ? effect : Effect.void;
|
|
163
|
-
});
|
|
164
|
-
this._currentChannel = this._currentChannel.right();
|
|
165
|
-
break;
|
|
99
|
+
}))))));
|
|
166
100
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
this.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case ChannelOpCodes.OP_CONCAT_ALL:
|
|
104
|
+
{
|
|
105
|
+
const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => Effect.sync(() => {
|
|
106
|
+
const prevLastClose = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
|
|
107
|
+
this._closeLastSubstream = pipe(prevLastClose, Effect.zipRight(effect));
|
|
108
|
+
}));
|
|
109
|
+
executor._input = this._input;
|
|
110
|
+
const channel = this._currentChannel;
|
|
111
|
+
this._activeSubexecutor = new Subexecutor.PullFromUpstream(executor, value => channel.k(value), undefined, [], (x, y) => channel.combineInners(x, y), (x, y) => channel.combineAll(x, y), request => channel.onPull(request), value => channel.onEmit(value));
|
|
112
|
+
this._closeLastSubstream = undefined;
|
|
113
|
+
this._currentChannel = undefined;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case ChannelOpCodes.OP_EMIT:
|
|
117
|
+
{
|
|
118
|
+
this._emitted = this._currentChannel.out;
|
|
119
|
+
this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.void;
|
|
120
|
+
result = ChannelState.Emit();
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
case ChannelOpCodes.OP_ENSURING:
|
|
124
|
+
{
|
|
125
|
+
this.runEnsuring(this._currentChannel);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case ChannelOpCodes.OP_FAIL:
|
|
129
|
+
{
|
|
130
|
+
result = this.doneHalt(this._currentChannel.error());
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
case ChannelOpCodes.OP_FOLD:
|
|
134
|
+
{
|
|
135
|
+
this._doneStack.push(this._currentChannel.k);
|
|
136
|
+
this._currentChannel = this._currentChannel.channel;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
case ChannelOpCodes.OP_FROM_EFFECT:
|
|
140
|
+
{
|
|
141
|
+
const effect = this._providedEnv === undefined ? this._currentChannel.effect() : pipe(this._currentChannel.effect(), Effect.provide(this._providedEnv));
|
|
142
|
+
result = ChannelState.fromEffect(Effect.matchCauseEffect(effect, {
|
|
143
|
+
onFailure: cause => {
|
|
144
|
+
const state = this.doneHalt(cause);
|
|
145
|
+
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
146
|
+
},
|
|
147
|
+
onSuccess: value => {
|
|
148
|
+
const state = this.doneSucceed(value);
|
|
149
|
+
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
150
|
+
}
|
|
151
|
+
}));
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case ChannelOpCodes.OP_PIPE_TO:
|
|
155
|
+
{
|
|
156
|
+
const previousInput = this._input;
|
|
157
|
+
const leftExec = new ChannelExecutor(this._currentChannel.left(), this._providedEnv, effect => this._executeCloseLastSubstream(effect));
|
|
158
|
+
leftExec._input = previousInput;
|
|
159
|
+
this._input = leftExec;
|
|
160
|
+
this.addFinalizer(exit => {
|
|
161
|
+
const effect = this.restorePipe(exit, previousInput);
|
|
162
|
+
return effect !== undefined ? effect : Effect.void;
|
|
163
|
+
});
|
|
164
|
+
this._currentChannel = this._currentChannel.right();
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
case ChannelOpCodes.OP_PROVIDE:
|
|
168
|
+
{
|
|
169
|
+
const previousEnv = this._providedEnv;
|
|
170
|
+
this._providedEnv = this._currentChannel.context();
|
|
171
|
+
this._currentChannel = this._currentChannel.inner;
|
|
172
|
+
this.addFinalizer(() => Effect.sync(() => {
|
|
173
|
+
this._providedEnv = previousEnv;
|
|
174
|
+
}));
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case ChannelOpCodes.OP_READ:
|
|
178
|
+
{
|
|
179
|
+
const read = this._currentChannel;
|
|
180
|
+
result = ChannelState.Read(this._input, identity, emitted => {
|
|
181
|
+
try {
|
|
182
|
+
this._currentChannel = read.more(emitted);
|
|
183
|
+
} catch (error) {
|
|
184
|
+
this._currentChannel = read.done.onExit(Exit.die(error));
|
|
185
|
+
}
|
|
186
|
+
return undefined;
|
|
187
|
+
}, exit => {
|
|
188
|
+
const onExit = exit => {
|
|
189
|
+
return read.done.onExit(exit);
|
|
190
|
+
};
|
|
191
|
+
this._currentChannel = onExit(exit);
|
|
192
|
+
return undefined;
|
|
193
|
+
});
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
case ChannelOpCodes.OP_SUCCEED:
|
|
197
|
+
{
|
|
198
|
+
result = this.doneSucceed(this._currentChannel.evaluate());
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
case ChannelOpCodes.OP_SUCCEED_NOW:
|
|
202
|
+
{
|
|
203
|
+
result = this.doneSucceed(this._currentChannel.terminal);
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
case ChannelOpCodes.OP_SUSPEND:
|
|
207
|
+
{
|
|
208
|
+
this._currentChannel = this._currentChannel.channel();
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
default:
|
|
212
|
+
{
|
|
213
|
+
// @ts-expect-error
|
|
214
|
+
this._currentChannel._tag;
|
|
215
|
+
}
|
|
217
216
|
}
|
|
218
217
|
}
|
|
219
218
|
} catch (error) {
|