remix-hono
Version:
Hono middlewares for Remix
41 lines (40 loc) • 1.75 kB
TypeScript
import type { KVNamespace } from "@cloudflare/workers-types";
import type { Context } from "hono";
import { cacheHeader } from "pretty-cache-header";
import { type CookieOptions, type SessionData } from "react-router";
interface StaticAssetsOptions {
cache?: Parameters<typeof cacheHeader>[0];
}
export declare function staticAssets(options?: StaticAssetsOptions): import("hono").MiddlewareHandler<any, string, {}>;
type WorkerKVBindingsObject<KV extends string, Secret extends string> = {
[K in KV | Secret]: K extends KV ? KVNamespace : string;
};
type GetWorkerKVSecretsFunction<KV extends string, Secret extends string> = (c: Context<{
Bindings: WorkerKVBindingsObject<KV, Secret>;
}>) => string[];
export declare function workerKVSession<KVBinding extends string, SecretBinding extends string, Data = SessionData, FlashData = Data>(options: {
autoCommit?: boolean;
cookie: Omit<CookieOptions, "secrets"> & {
name: string;
secrets: GetWorkerKVSecretsFunction<KVBinding, SecretBinding>;
};
binding: KVBinding;
}): import("hono").MiddlewareHandler<{
Variables: Record<symbol, unknown>;
}, string, {}>;
type CookieBindingsObject<Secret extends string> = {
[K in Secret]: string;
};
type GetCookieSecretsFunction<Secret extends string> = (c: Context<{
Bindings: CookieBindingsObject<Secret>;
}>) => string[];
export declare function cookieSession<SecretBinding extends string, Data = SessionData, FlashData = Data>(options: {
autoCommit?: boolean;
cookie: Omit<CookieOptions, "secrets"> & {
name: string;
secrets: GetCookieSecretsFunction<SecretBinding>;
};
}): import("hono").MiddlewareHandler<{
Variables: Record<symbol, unknown>;
}, string, {}>;
export {};