Skip to main content
Deno 2 is finally here 🎉️
Learn more
Latest
class PreactRenderHandler
Re-export
import { PreactRenderHandler } from "https://deno.land/x/fathym_eac_runtime@v0.1.54/mod.ts";

Constructors

new
PreactRenderHandler(options: AdvancedPreactOptions, bypassEaCBase?: boolean)

Properties

protected
clientImports: string[]
protected
ContainerTracker: (props: { id: string; children?: ComponentChildren; }) => VNode
protected
denoCfg: DenoConfig
protected
islandsMap: Map<ComponentType, Island>
protected
islandsTypeMap: Map<string, ComponentType>
protected
origBeforeDiff: any
protected
origBeforeRender: any
protected
origDiffed: any
protected
origHook: any
protected
origVNodeHook: any
protected
tracking: { containers: Map<string, ComponentChildren>; ownerStack: VNode[]; owners: Map<VNode, VNode>; patched: WeakSet<VNode>; rendering: boolean; renderingUserTemplate: boolean; template: { bodyProps?: Record<string, unknown>; encounteredIslands: WeakSet<Island>; hasHeadChildren: boolean; headChildNodes: { type: string; props: Record<string, unknown>; }[]; headProps?: Record<string, unknown>; htmlProps?: Record<string, unknown>; islandDepth: number; titleNode?: VNode<any>; userTemplate: boolean; }; }
islandsData: IslandDataStore

Methods

protected
addMarker(
id: string,
markerType?: "island" | "container" | "key",
key?: string,
): VNode<Attributes>
protected
beforeDiffHook(vnode: VNode<Record<string, unknown>>)
protected
beforeHookStateHook(
component: Component,
index: number,
)
protected
beforeRenderHook(vnode: VNode<Record<string, unknown>>)
protected
configureOwners(vnode: VNode): void
protected
configureVNode(vnode: VNode): void
protected
diffedHook(vnode: VNode<Record<string, unknown>>)
protected
excludeChildren(props: Record<string, unknown>): Record<string, unknown>
protected
hasIslandOwner(vnode: VNode<Record<string, unknown>>): boolean
protected
loadEaCType(vnodeType: string | ComponentType): string | ComponentType
protected
processComponentMarkup(vnode: VNode<Record<string, unknown>>): void
protected
processEaCBypassNodes(vnode: { type: string; } & VNode<Record<string, unknown>>)
protected
processStandardMarkup(vnode: VNode<Record<string, unknown>>): void
protected
refreshTracking(): this.tracking
protected
shouldProcessOwners(vnode: VNode): boolean
protected
vNodeCreateHook(vnode: VNode<Record<string, unknown>>): void
protected
vnodeDiffed(vnode: VNode<Record<string, unknown>>)
AddClientImport(path: string): void
AddIsland(
island: ComponentType,
path: string,
contents: string,
): void
LoadIslands(): Record<string, [string, string]>
RenderPage(renderStack: ComponentType<any>[], ctx: EaCRuntimeContext): Promise<string>