| 1 | import type { EntryEnvironment } from "./constants.shared.ts"; |
| 2 | import type { ModuleRunnerDO } from "./module-runner.worker.ts"; |
| 3 | |
| 4 | export interface Env extends Cloudflare.Env { |
| 5 | __DISTILLED_MODULE_RUNNER__: { |
| 6 | get(id: "singleton"): ModuleRunnerDO; |
| 7 | }; |
| 8 | __DISTILLED_UNSAFE_EVAL__: { |
| 9 | eval: (code: string, id: string) => Function; |
| 10 | }; |
| 11 | __DISTILLED_INVOKE_MODULE__: Fetcher; |
| 12 | __DISTILLED_ENVIRONMENT__: EntryEnvironment; |
| 13 | __DISTILLED_MODULE_FALLBACK__: Fetcher; |
| 14 | [key: string]: unknown; |
| 15 | } |
| 16 | |
| 17 | export function stripInternalEnv(env: Env) { |
| 18 | const { |
| 19 | __DISTILLED_MODULE_RUNNER__, |
| 20 | __DISTILLED_UNSAFE_EVAL__, |
| 21 | __DISTILLED_INVOKE_MODULE__, |
| 22 | __DISTILLED_ENVIRONMENT__, |
| 23 | __DISTILLED_MODULE_FALLBACK__, |
| 24 | ...userEnv |
| 25 | } = env; |
| 26 | return userEnv; |
| 27 | } |