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

Function drainAsync

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

Source from the content-addressed store, hash-verified

341};
342
343const drainAsync = async (
344 context: QuickJSContext,
345 runtime: QuickJSRuntime,
346 pendingDeferreds: ReadonlySet<QuickJSDeferredPromise>,
347 deadlineMs: number,
348 timeoutMs: number,
349): Promise<void> => {
350 drainJobs(context, runtime, deadlineMs, timeoutMs);
351
352 while (pendingDeferreds.size > 0) {
353 await waitForDeferreds(pendingDeferreds, deadlineMs, timeoutMs);
354 drainJobs(context, runtime, deadlineMs, timeoutMs);
355 }
356
357 drainJobs(context, runtime, deadlineMs, timeoutMs);
358};
359
360const evaluateInQuickJs = async (
361 options: QuickJsExecutorOptions,

Callers 1

evaluateInQuickJsFunction · 0.85

Calls 2

drainJobsFunction · 0.85
waitForDeferredsFunction · 0.85

Tested by

no test coverage detected