36 lines
756 B
TypeScript
36 lines
756 B
TypeScript
import { ComponentChildren, ComponentChild, VNode } from 'preact';
|
|
|
|
interface Suspended {
|
|
id: string;
|
|
promise: Promise<any>;
|
|
context: any;
|
|
isSvgMode: boolean;
|
|
selectValue: any;
|
|
vnode: VNode;
|
|
parent: VNode | null;
|
|
}
|
|
|
|
interface RendererErrorHandler {
|
|
(
|
|
this: RendererState,
|
|
error: any,
|
|
vnode: VNode<{ fallback: any }>,
|
|
renderChild: (child: ComponentChildren, parent: ComponentChild) => string
|
|
): string | undefined;
|
|
}
|
|
|
|
interface RendererState {
|
|
start: number;
|
|
suspended: Suspended[];
|
|
abortSignal?: AbortSignal | undefined;
|
|
onWrite: (str: string) => void;
|
|
onError?: RendererErrorHandler;
|
|
}
|
|
|
|
interface RenderToChunksOptions {
|
|
context?: any;
|
|
onError?: (error: any) => void;
|
|
onWrite: (str: string) => void;
|
|
abortSignal?: AbortSignal;
|
|
}
|