diff --git a/packages/adapter/adapter-test/src/index.ts b/packages/adapter/adapter-test/src/index.ts index 990e3bbb..9385a50d 100644 --- a/packages/adapter/adapter-test/src/index.ts +++ b/packages/adapter/adapter-test/src/index.ts @@ -7,7 +7,7 @@ export interface CreateTestClientArgs

{ handler: HattipHandler

; baseUrl?: string | URL; platform?: P; - env?: Record; + env?: Record; } export function createTestClient

({ @@ -38,7 +38,7 @@ export function createTestClient

({ void promise; }, env(variable) { - return env[variable]; + return env[variable] as any; }, }); }; diff --git a/packages/base/core/index.d.ts b/packages/base/core/index.d.ts index 3ebe3c39..73a352c8 100644 --- a/packages/base/core/index.d.ts +++ b/packages/base/core/index.d.ts @@ -1,3 +1,14 @@ +/** + * Interface defining the shape of environment variables + */ +export interface AdapterEnv {} + +export type AdapterEnvKey = keyof AdapterEnv | (string & {}); + +export type AdapterEnvGetter = ( + variable: K, +) => K extends keyof AdapterEnv ? AdapterEnv[K] : string | undefined; + /** * Request context as dispatched by the platform adapter */ @@ -24,7 +35,7 @@ export interface AdapterRequestContext

{ * * @returns The value of the variable or undefined if it doesn't exist. */ - env(variable: string): string | undefined; + env: AdapterEnvGetter; /** * Signal that the request hasn't been handled and the returned response is * a placeholder (usually a 404). In this case the adapter should handle the