export type WorkerRuntime = { name: 'cloudflare'; env: T; waitUntil(promise: Promise): void; passThroughOnException(): void; }; export type PagesRuntime = { name: 'cloudflare'; env: T; functionPath: string; params: Record; data: U; waitUntil(promise: Promise): void; next(request: Request): void; }; export function getRuntime( request: Request ): WorkerRuntime | PagesRuntime { if (!!request) { return Reflect.get(request, Symbol.for('runtime')); } else { throw new Error( 'To retrieve the current cloudflare runtime you need to pass in the Astro request object' ); } }