Skip to content

Renderer

reference
1 min readUpdated

Kind: Type

Source: src/context.ts

Renderer type which can either be a ContextRenderer or DefaultRenderer.

Renderer represents a rendering callback accepted by the context system. It can be either a ContextRenderer, which receives context data, or a DefaultRenderer, which renders without context.

Definition

ts
ContextRenderer extends Function ? ContextRenderer : DefaultRenderer

Diagram

mermaid
graph LR
  Renderer[Renderer] --> ContextRenderer[ContextRenderer]
  Renderer --> DefaultRenderer[DefaultRenderer]
  ContextRenderer --> Context[Context data]
  DefaultRenderer --> Output[Rendered output]
  ContextRenderer --> Output

Usage

ts
import type { Renderer } from "./context";

const fallbackRenderer: Renderer = () => {
  return "No context available";
};

function registerRenderer(renderer: Renderer) {
  return renderer;
}

registerRenderer(fallbackRenderer);

AI Coding Instructions

  • Treat Renderer as a union of ContextRenderer and DefaultRenderer.
  • Use a context-aware callback when rendering depends on context data.
  • Use a default callback when rendering does not require context data.
  • Avoid calling a Renderer directly unless the active renderer variant is known.
  • Keep renderer return values compatible with the output expected by the surrounding context API.

Was this page helpful?

Download as PDF
Renderer — Hono (narrator proof)