1import type { EntryEnvironment } from "./constants.shared.ts";
2import type { ModuleRunnerDO } from "./module-runner.worker.ts";
3
4export 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
17export 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}