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

Function drainAsync

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

Source from the content-addressed store, hash-verified

351};
352
353const drainAsync = async (
354 context: QuickJSContext,
355 runtime: QuickJSRuntime,
356 pendingDeferreds: ReadonlySet<QuickJSDeferredPromise>,
357 deadlineMs: number,
358 timeoutMs: number,
359): Promise<void> => {
360 drainJobs(context, runtime, deadlineMs, timeoutMs);
361
362 while (pendingDeferreds.size > 0) {
363 await waitForDeferreds(pendingDeferreds, deadlineMs, timeoutMs);
364 drainJobs(context, runtime, deadlineMs, timeoutMs);
365 }
366
367 drainJobs(context, runtime, deadlineMs, timeoutMs);
368};
369
370const evaluateInQuickJs = async (
371 options: QuickJsExecutorOptions,

Callers 1

evaluateInQuickJsFunction · 0.85

Calls 2

drainJobsFunction · 0.85
waitForDeferredsFunction · 0.85

Tested by

no test coverage detected