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
TypeScript
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>;
};