@harlem/plugin-ssr
Version:
The official server-side rendering plugin for Harlem
29 lines (25 loc) • 903 B
TypeScript
import { BaseState, HarlemPlugin } from '@harlem/core';
declare global {
interface Window {
__harlemState: SSRData;
}
}
type SSRData = Record<string, BaseState>;
type SSRSerializer = (snapshot: SSRData) => string;
/**
* Generate a script required to transfer state from server to client
*/
declare function getBridgingScript(serializer?: SSRSerializer): string;
/**
* Generate a script block required to transfer state from server to client
*/
declare function getBridgingScriptBlock(serializer?: SSRSerializer): string;
/**
* Create a new instance of the server-side SSR plugin
*/
declare function createServerSSRPlugin(): HarlemPlugin;
/**
* Create a new instance of the client-side SSR plugin
*/
declare function createClientSSRPlugin(): HarlemPlugin;
export { SSRData, SSRSerializer, createClientSSRPlugin, createServerSSRPlugin, getBridgingScript, getBridgingScriptBlock };