MCPcopy Index your code
hub / github.com/Effect-TS/effect / runWithInput

Function runWithInput

packages/cli/src/internal/prompt.ts:185–206  ·  view source on GitHub ↗
(
  prompt: Prompt.Prompt<Output>,
  terminal: Terminal.Terminal,
  input: Mailbox.ReadonlyMailbox<Terminal.UserInput>
)

Source from the content-addressed store, hash-verified

183)
184
185const runWithInput = <Output>(
186 prompt: Prompt.Prompt<Output>,
187 terminal: Terminal.Terminal,
188 input: Mailbox.ReadonlyMailbox<Terminal.UserInput>
189): Effect.Effect<Output, Cause.NoSuchElementException, Prompt.Prompt.Environment> =>
190 Effect.suspend(() => {
191 const op = prompt as Primitive
192 switch (op._tag) {
193 case "Loop": {
194 return runLoop(op, terminal, input)
195 }
196 case "OnSuccess": {
197 return Effect.flatMap(
198 runWithInput(op.prompt, terminal, input),
199 (a) => runWithInput(op.onSuccess(a), terminal, input)
200 ) as any
201 }
202 case "Succeed": {
203 return Effect.succeed(op.value)
204 }
205 }
206 })
207
208const runLoop = Effect.fnUntraced(
209 function*(

Callers 1

prompt.tsFile · 0.85

Calls 2

runLoopFunction · 0.85
onSuccessMethod · 0.80

Tested by

no test coverage detected