MCPcopy Index your code
hub / github.com/anomalyco/opencode / pollWithTimeout

Function pollWithTimeout

packages/opencode/test/lib/effect.ts:161–177  ·  view source on GitHub ↗
(
  self: Effect.Effect<A | undefined, E, R>,
  message: string,
  duration: Duration.Input = "5 seconds",
)

Source from the content-addressed store, hash-verified

159 )
160
161export const pollWithTimeout = <A, E, R>(
162 self: Effect.Effect<A | undefined, E, R>,
163 message: string,
164 duration: Duration.Input = "5 seconds",
165) =>
166 Effect.gen(function* () {
167 while (true) {
168 const result = yield* self
169 if (result !== undefined) return result
170 yield* Effect.sleep("20 millis")
171 }
172 }).pipe(
173 Effect.timeoutOrElse({
174 duration,
175 orElse: () => Effect.fail(new Error(message)),
176 }),
177 )

Callers 7

waitForBusyFunction · 0.90
prompt.test.tsFile · 0.90
share-next.test.tsFile · 0.90

Calls

no outgoing calls

Tested by 1

waitForBusyFunction · 0.72