vite-ssr
Version:
Vite utility for server side rendering
29 lines (28 loc) • 848 B
TypeScript
import type { Renderer, SharedContext, SharedOptions } from '../utils/types';
export interface Options extends Pick<SharedOptions, 'transformState'> {
url?: string | URL;
spaRedirect?: (location: string) => void;
}
export interface Context extends SharedContext {
}
export interface SSRPageDescriptor {
headTags?: string;
htmlAttrs?: string;
bodyAttrs?: string;
body?: string;
}
export interface SsrRenderer {
(context: Context, utils: {
isRedirect: () => boolean;
[key: string]: unknown;
}): SSRPageDescriptor | Promise<SSRPageDescriptor>;
}
export interface SsrHandler {
(p1: SsrRenderer | Options, p2?: SsrRenderer): Renderer;
}
export interface ClientHook {
(context: Context): void;
}
export interface ClientHandler {
(p1: ClientHook | Options, p2?: ClientHook): Promise<Context>;
}