MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / drainAsync

Function drainAsync

packages/kernel/runtime-quickjs/src/index.ts:420–435  ·  view source on GitHub ↗
(
  context: QuickJSContext,
  runtime: QuickJSRuntime,
  pendingDeferreds: ReadonlySet<QuickJSDeferredPromise>,
  deadline: DeadlineTracker,
  timeoutMs: number,
)

Source from the content-addressed store, hash-verified

418};
419
420const drainAsync = async (
421 context: QuickJSContext,
422 runtime: QuickJSRuntime,
423 pendingDeferreds: ReadonlySet<QuickJSDeferredPromise>,
424 deadline: DeadlineTracker,
425 timeoutMs: number,
426): Promise<void> => {
427 drainJobs(context, runtime, deadline, timeoutMs);
428
429 while (pendingDeferreds.size > 0) {
430 await waitForDeferreds(pendingDeferreds, deadline, timeoutMs);
431 drainJobs(context, runtime, deadline, timeoutMs);
432 }
433
434 drainJobs(context, runtime, deadline, timeoutMs);
435};
436
437const evaluateInQuickJs = async (
438 options: QuickJsExecutorOptions,

Callers 1

evaluateInQuickJsFunction · 0.85

Calls 2

drainJobsFunction · 0.85
waitForDeferredsFunction · 0.85

Tested by

no test coverage detected