Skip to main content

Interface: RendererProps

Defined in: renderer.types.ts:21

Everything Renderer reads. Nothing else on the object is looked at, so a page that carries extra keys through loses nothing by handing the whole thing over.

Example

import { Renderer } from "@nubbin/react";
import type { RendererProps } from "@nubbin/react";

const props: RendererProps = { artifact, registry, resolveHole };
const page = <Renderer {...props} />;

Properties

artifact

artifact: Artifact

Defined in: renderer.types.ts:28

The compiled page to render, as compile produced it and a store handed it back. Its blockVersions decides which blocks load, its tree is walked in order, and its route is what every hole on the page resolves against. It is read, never mutated, and nothing it carries is evaluated.


registry

registry: BlockRegistry

Defined in: renderer.types.ts:34

Where the blocks come from. It may name far more blocks than this artifact uses — the extra importers are never invoked — but a name the artifact carries and this omits refuses the render before any block loads.


resolveHole?

optional resolveHole?: HoleResolver

Defined in: renderer.types.ts:40

How a hole gets its value. Any artifact whose tree declares one needs it: omit it and that node refuses rather than rendering without the field. A wholly static artifact renders with no resolver at all, which is the fast path — the frozen props go through untouched.