UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

35 lines (34 loc) 1.38 kB
import type { RuntimeBkndConfig } from "bknd/adapter"; import type { App, MaybePromise } from "../.."; import { type CloudflareContext } from "./config"; declare global { namespace Cloudflare { interface Env { } } } export type CloudflareEnv = Cloudflare.Env; export type CloudflareBkndConfig<Env = CloudflareEnv> = RuntimeBkndConfig<Env> & { bindings?: (args: Env) => MaybePromise<{ kv?: KVNamespace; db?: D1Database; }>; d1?: { session?: boolean; transport?: "header" | "cookie"; first?: D1SessionConstraint; }; static?: "kv" | "assets"; key?: string; keepAliveSeconds?: number; forceHttps?: boolean; manifest?: string; registerMedia?: boolean | ((env: Env) => void); }; export declare function createApp<Env extends CloudflareEnv = CloudflareEnv>(config?: CloudflareBkndConfig<Env>, ctx?: Partial<CloudflareContext<Env>>): Promise<App<import("../..").Connection<unknown>, import("../../core/types").PartialRec<import("../..").ModuleConfigs>, import("../../App").AppOptions>>; export declare const getFresh: typeof createApp; export declare function serve<Env extends CloudflareEnv = CloudflareEnv>(config?: CloudflareBkndConfig<Env>, serveOptions?: (args: Env) => { warm?: boolean; }): { fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response>; };