Rhys Sullivanrenames / reorgs57f6e247 months agoHistory
25 lines · 886 B · TypeScript
RawDownload
import type { CodeExecutor } from "@executor/codemode-core";import { makeDenoSubprocessExecutor } from "@executor/runtime-deno-subprocess";import { makeQuickJsExecutor } from "@executor/runtime-quickjs";import { makeSesExecutor } from "@executor/runtime-ses";import type { LocalExecutorConfig, LocalExecutorRuntime } from "#schema"; const DEFAULT_EXECUTION_RUNTIME: LocalExecutorRuntime = "quickjs"; export const resolveConfiguredExecutionRuntime = (  config: LocalExecutorConfig | null | undefined,): LocalExecutorRuntime => config?.runtime ?? DEFAULT_EXECUTION_RUNTIME; export const createCodeExecutorForRuntime = (  runtime: LocalExecutorRuntime,): CodeExecutor => {  switch (runtime) {    case "deno":      return makeDenoSubprocessExecutor();    case "ses":      return makeSesExecutor();    case "quickjs":    default:      return makeQuickJsExecutor();  }};