UNPKG

vite-ssr

Version:

Vite utility for server side rendering

51 lines (50 loc) 1.47 kB
import type { FunctionComponent, ReactElement, ReactNode } from 'react'; import type { Router } from './utils'; import type { Meta, Renderer, SharedContext, SharedOptions } from '../utils/types'; export interface RouteRaw { name?: string; path: string; component: any; meta?: Meta; routes?: RouteRaw[]; [key: string]: any; } export interface PropsProvider extends FunctionComponent<{ from?: RouteRaw; to: RouteRaw; [key: string]: any; }> { } export interface Context extends SharedContext { router: Router; } export interface Options extends SharedOptions { routes: RouteRaw[]; suspenseFallback?: ReactNode; PropsProvider?: PropsProvider; prepassVisitor?: any; } export interface ServerOptions extends Options { styleCollector?: null | ((context: Context) => { collect: (app: ReactElement) => ReactElement; toString: (html: string) => string; cleanup?: () => void; }); } export interface ClientOptions extends Options { styleCollector?: null | ((context: Context) => { provide?: (app: ReactElement) => ReactElement; cleanup?: () => void; }); } export interface HookParams extends Context { } export interface Hook { (params: HookParams): any | Promise<any>; } export interface ClientHandler { (App: any, options: ClientOptions, hook?: Hook): Promise<void>; } export interface SsrHandler { (App: any, options: ServerOptions, hook?: Hook): Renderer; }