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

Function drainAsync

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

Source from the content-addressed store, hash-verified

398};
399
400const drainAsync = async (
401 context: QuickJSContext,
402 runtime: QuickJSRuntime,
403 pendingDeferreds: ReadonlySet<QuickJSDeferredPromise>,
404 deadline: DeadlineTracker,
405 timeoutMs: number,
406): Promise<void> => {
407 drainJobs(context, runtime, deadline, timeoutMs);
408
409 while (pendingDeferreds.size > 0) {
410 await waitForDeferreds(pendingDeferreds, deadline, timeoutMs);
411 drainJobs(context, runtime, deadline, timeoutMs);
412 }
413
414 drainJobs(context, runtime, deadline, timeoutMs);
415};
416
417const evaluateInQuickJs = async (
418 options: QuickJsExecutorOptions,

Callers 1

evaluateInQuickJsFunction · 0.85

Calls 2

drainJobsFunction · 0.85
waitForDeferredsFunction · 0.85

Tested by

no test coverage detected