utquidem
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
37 lines (30 loc) • 855 B
text/typescript
// import { IncomingHttpHeaders } from 'http';
import { RuntimeContext } from '@modern-js/runtime-core';
export enum RenderLevel {
CLIENT_RENDER,
SERVER_PREFETCH,
SERVER_RENDER,
}
export type { BaseSSRServerContext as SSRServerContext } from '@modern-js/types';
export type ModernSSRReactComponent = React.ComponentType<any> & {
init: (context: RuntimeContext) => Promise<void>;
prefetch: (context: RuntimeContext) => Promise<Record<string, any>>;
};
export interface RenderEntry {
entryName: string;
result: RenderResult;
loadableManifest: string | undefined;
}
export type RenderHandler = (
jsx: React.ReactElement,
renderer: RenderEntry,
next: (jsx: React.ReactElement) => string,
) => string;
export type RenderResult = {
renderLevel: RenderLevel;
html?: string;
chunksMap: {
js: string;
css: string;
};
};