effect 3.10.0 → 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.
@@ -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
- } else {
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
- }
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
- 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);
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
- 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
- }
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"channelExecutor.js","names":["Cause","Deferred","Effect","ExecutionStrategy","Exit","Fiber","identity","pipe","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","a","lastClose","rest","remainingExecutors","NoUpstream","reduce","n","curr","fin","exits","all","getOrElse","r","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","yieldNow","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"channelExecutor.js","names":["Cause","Deferred","Effect","ExecutionStrategy","Exit","Fiber","identity","pipe","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","interruptible","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","a","lastClose","rest","remainingExecutors","NoUpstream","reduce","n","curr","fin","exits","all","getOrElse","r","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","yieldNow","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.10.0";
1
+ let moduleVersion = "3.10.1";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.10.0",
3
+ "version": "3.10.1",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {