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.
Files changed (207) hide show
  1. package/Arbitrary/package.json +6 -0
  2. package/FastCheck/package.json +6 -0
  3. package/JSONSchema/package.json +6 -0
  4. package/ParseResult/package.json +6 -0
  5. package/Pretty/package.json +6 -0
  6. package/Schema/package.json +6 -0
  7. package/SchemaAST/package.json +6 -0
  8. package/TSubscriptionRef/package.json +6 -0
  9. package/dist/cjs/Arbitrary.js +490 -0
  10. package/dist/cjs/Arbitrary.js.map +1 -0
  11. package/dist/cjs/Effect.js +247 -16
  12. package/dist/cjs/Effect.js.map +1 -1
  13. package/dist/cjs/FastCheck.js +17 -0
  14. package/dist/cjs/FastCheck.js.map +1 -0
  15. package/dist/cjs/Inspectable.js +43 -3
  16. package/dist/cjs/Inspectable.js.map +1 -1
  17. package/dist/cjs/JSONSchema.js +418 -0
  18. package/dist/cjs/JSONSchema.js.map +1 -0
  19. package/dist/cjs/ParseResult.js +1539 -0
  20. package/dist/cjs/ParseResult.js.map +1 -0
  21. package/dist/cjs/Predicate.js +3 -1
  22. package/dist/cjs/Predicate.js.map +1 -1
  23. package/dist/cjs/Pretty.js +183 -0
  24. package/dist/cjs/Pretty.js.map +1 -0
  25. package/dist/cjs/Schema.js +5529 -0
  26. package/dist/cjs/Schema.js.map +1 -0
  27. package/dist/cjs/SchemaAST.js +2365 -0
  28. package/dist/cjs/SchemaAST.js.map +1 -0
  29. package/dist/cjs/Stream.js +17 -3
  30. package/dist/cjs/Stream.js.map +1 -1
  31. package/dist/cjs/TPubSub.js +9 -1
  32. package/dist/cjs/TPubSub.js.map +1 -1
  33. package/dist/cjs/TQueue.js.map +1 -1
  34. package/dist/cjs/TRef.js.map +1 -1
  35. package/dist/cjs/TSubscriptionRef.js +96 -0
  36. package/dist/cjs/TSubscriptionRef.js.map +1 -0
  37. package/dist/cjs/index.js +18 -2
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/internal/cause.js +2 -2
  40. package/dist/cjs/internal/cause.js.map +1 -1
  41. package/dist/cjs/internal/channel/channelExecutor.js +160 -161
  42. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  43. package/dist/cjs/internal/core.js +4 -4
  44. package/dist/cjs/internal/core.js.map +1 -1
  45. package/dist/cjs/internal/fiberRuntime.js +14 -12
  46. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  47. package/dist/cjs/internal/logger.js +7 -6
  48. package/dist/cjs/internal/logger.js.map +1 -1
  49. package/dist/cjs/internal/redacted.js +4 -0
  50. package/dist/cjs/internal/redacted.js.map +1 -1
  51. package/dist/cjs/internal/schema/errors.js +116 -0
  52. package/dist/cjs/internal/schema/errors.js.map +1 -0
  53. package/dist/cjs/internal/schema/filters.js +41 -0
  54. package/dist/cjs/internal/schema/filters.js.map +1 -0
  55. package/dist/cjs/internal/schema/util.js +96 -0
  56. package/dist/cjs/internal/schema/util.js.map +1 -0
  57. package/dist/cjs/internal/stm/core.js +2 -3
  58. package/dist/cjs/internal/stm/core.js.map +1 -1
  59. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  60. package/dist/cjs/internal/stm/tQueue.js +1 -2
  61. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  62. package/dist/cjs/internal/stm/tRef.js +6 -2
  63. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  64. package/dist/cjs/internal/stm/tSubscriptionRef.js +178 -0
  65. package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
  66. package/dist/cjs/internal/stream.js +36 -16
  67. package/dist/cjs/internal/stream.js.map +1 -1
  68. package/dist/cjs/internal/version.js +1 -1
  69. package/dist/cjs/internal/version.js.map +1 -1
  70. package/dist/dts/Arbitrary.d.ts +45 -0
  71. package/dist/dts/Arbitrary.d.ts.map +1 -0
  72. package/dist/dts/Effect.d.ts +298 -30
  73. package/dist/dts/Effect.d.ts.map +1 -1
  74. package/dist/dts/FastCheck.d.ts +9 -0
  75. package/dist/dts/FastCheck.d.ts.map +1 -0
  76. package/dist/dts/Inspectable.d.ts +28 -0
  77. package/dist/dts/Inspectable.d.ts.map +1 -1
  78. package/dist/dts/JSONSchema.d.ts +181 -0
  79. package/dist/dts/JSONSchema.d.ts.map +1 -0
  80. package/dist/dts/ParseResult.d.ts +551 -0
  81. package/dist/dts/ParseResult.d.ts.map +1 -0
  82. package/dist/dts/Predicate.d.ts.map +1 -1
  83. package/dist/dts/Pretty.d.ts +26 -0
  84. package/dist/dts/Pretty.d.ts.map +1 -0
  85. package/dist/dts/Schema.d.ts +4562 -0
  86. package/dist/dts/Schema.d.ts.map +1 -0
  87. package/dist/dts/SchemaAST.d.ts +1321 -0
  88. package/dist/dts/SchemaAST.d.ts.map +1 -0
  89. package/dist/dts/Stream.d.ts +67 -2
  90. package/dist/dts/Stream.d.ts.map +1 -1
  91. package/dist/dts/TPubSub.d.ts +8 -0
  92. package/dist/dts/TPubSub.d.ts.map +1 -1
  93. package/dist/dts/TQueue.d.ts +7 -7
  94. package/dist/dts/TQueue.d.ts.map +1 -1
  95. package/dist/dts/TRef.d.ts +2 -1
  96. package/dist/dts/TRef.d.ts.map +1 -1
  97. package/dist/dts/TSubscriptionRef.d.ts +251 -0
  98. package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
  99. package/dist/dts/index.d.ts +32 -0
  100. package/dist/dts/index.d.ts.map +1 -1
  101. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  102. package/dist/dts/internal/schema/errors.d.ts +2 -0
  103. package/dist/dts/internal/schema/errors.d.ts.map +1 -0
  104. package/dist/dts/internal/schema/filters.d.ts +2 -0
  105. package/dist/dts/internal/schema/filters.d.ts.map +1 -0
  106. package/dist/dts/internal/schema/util.d.ts +2 -0
  107. package/dist/dts/internal/schema/util.d.ts.map +1 -0
  108. package/dist/dts/internal/stm/tRef.d.ts +3 -1
  109. package/dist/dts/internal/stm/tRef.d.ts.map +1 -1
  110. package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
  111. package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
  112. package/dist/dts/internal/stream.d.ts.map +1 -1
  113. package/dist/esm/Arbitrary.js +472 -0
  114. package/dist/esm/Arbitrary.js.map +1 -0
  115. package/dist/esm/Effect.js +256 -18
  116. package/dist/esm/Effect.js.map +1 -1
  117. package/dist/esm/FastCheck.js +9 -0
  118. package/dist/esm/FastCheck.js.map +1 -0
  119. package/dist/esm/Inspectable.js +39 -2
  120. package/dist/esm/Inspectable.js.map +1 -1
  121. package/dist/esm/JSONSchema.js +408 -0
  122. package/dist/esm/JSONSchema.js.map +1 -0
  123. package/dist/esm/ParseResult.js +1503 -0
  124. package/dist/esm/ParseResult.js.map +1 -0
  125. package/dist/esm/Predicate.js +2 -1
  126. package/dist/esm/Predicate.js.map +1 -1
  127. package/dist/esm/Pretty.js +173 -0
  128. package/dist/esm/Pretty.js.map +1 -0
  129. package/dist/esm/Schema.js +5328 -0
  130. package/dist/esm/Schema.js.map +1 -0
  131. package/dist/esm/SchemaAST.js +2300 -0
  132. package/dist/esm/SchemaAST.js.map +1 -0
  133. package/dist/esm/Stream.js +14 -0
  134. package/dist/esm/Stream.js.map +1 -1
  135. package/dist/esm/TPubSub.js +8 -0
  136. package/dist/esm/TPubSub.js.map +1 -1
  137. package/dist/esm/TQueue.js.map +1 -1
  138. package/dist/esm/TRef.js.map +1 -1
  139. package/dist/esm/TSubscriptionRef.js +87 -0
  140. package/dist/esm/TSubscriptionRef.js.map +1 -0
  141. package/dist/esm/index.js +32 -0
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/internal/cause.js +3 -3
  144. package/dist/esm/internal/cause.js.map +1 -1
  145. package/dist/esm/internal/channel/channelExecutor.js +160 -161
  146. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  147. package/dist/esm/internal/core.js +4 -4
  148. package/dist/esm/internal/core.js.map +1 -1
  149. package/dist/esm/internal/fiberRuntime.js +14 -12
  150. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  151. package/dist/esm/internal/logger.js +7 -6
  152. package/dist/esm/internal/logger.js.map +1 -1
  153. package/dist/esm/internal/redacted.js +4 -0
  154. package/dist/esm/internal/redacted.js.map +1 -1
  155. package/dist/esm/internal/schema/errors.js +87 -0
  156. package/dist/esm/internal/schema/errors.js.map +1 -0
  157. package/dist/esm/internal/schema/filters.js +35 -0
  158. package/dist/esm/internal/schema/filters.js.map +1 -0
  159. package/dist/esm/internal/schema/util.js +78 -0
  160. package/dist/esm/internal/schema/util.js.map +1 -0
  161. package/dist/esm/internal/stm/core.js +1 -2
  162. package/dist/esm/internal/stm/core.js.map +1 -1
  163. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  164. package/dist/esm/internal/stm/tQueue.js +1 -2
  165. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  166. package/dist/esm/internal/stm/tRef.js +5 -1
  167. package/dist/esm/internal/stm/tRef.js.map +1 -1
  168. package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
  169. package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
  170. package/dist/esm/internal/stream.js +33 -15
  171. package/dist/esm/internal/stream.js.map +1 -1
  172. package/dist/esm/internal/version.js +1 -1
  173. package/dist/esm/internal/version.js.map +1 -1
  174. package/package.json +68 -1
  175. package/src/Arbitrary.ts +563 -0
  176. package/src/Effect.ts +302 -31
  177. package/src/FastCheck.ts +9 -0
  178. package/src/Inspectable.ts +56 -2
  179. package/src/JSONSchema.ts +601 -0
  180. package/src/ParseResult.ts +2027 -0
  181. package/src/Predicate.ts +3 -1
  182. package/src/Pretty.ts +204 -0
  183. package/src/Schema.ts +10388 -0
  184. package/src/SchemaAST.ts +2827 -0
  185. package/src/Stream.ts +77 -9
  186. package/src/TPubSub.ts +9 -0
  187. package/src/TQueue.ts +7 -7
  188. package/src/TRef.ts +2 -1
  189. package/src/TSubscriptionRef.ts +284 -0
  190. package/src/index.ts +40 -0
  191. package/src/internal/cause.ts +3 -3
  192. package/src/internal/channel/channelExecutor.ts +213 -214
  193. package/src/internal/core-effect.ts +2 -2
  194. package/src/internal/core.ts +4 -4
  195. package/src/internal/fiberRuntime.ts +14 -12
  196. package/src/internal/logger.ts +7 -6
  197. package/src/internal/redacted.ts +4 -0
  198. package/src/internal/schema/errors.ts +189 -0
  199. package/src/internal/schema/filters.ts +86 -0
  200. package/src/internal/schema/util.ts +113 -0
  201. package/src/internal/stm/core.ts +1 -2
  202. package/src/internal/stm/tPubSub.ts +1 -0
  203. package/src/internal/stm/tQueue.ts +2 -2
  204. package/src/internal/stm/tRef.ts +7 -2
  205. package/src/internal/stm/tSubscriptionRef.ts +286 -0
  206. package/src/internal/stream.ts +97 -20
  207. 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
- } 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) {