Kind: Type
Source: src/context.ts
Extracts the props for the renderer.
PropsForRenderer extracts the prop type expected by a renderer. It lets context and rendering code share the renderer’s input contract without restating prop fields.
Definition
ts[...Required<Parameters<Renderer>>] extends [unknown, infer Props] ? Props : unknown
Diagram
mermaidgraph LR Renderer[Renderer type] --> PropsForRenderer[PropsForRenderer] PropsForRenderer --> RendererProps[Extracted renderer props] RendererProps --> Context[Context and render calls]
Usage
tsimport type { PropsForRenderer } from "./context";
const renderer = ({ value, onChange }: { value: string; onChange(value: string): void }) => {
return { value, onChange };
};
type RendererProps = PropsForRenderer<typeof renderer>;
const props: RendererProps = {
value: "hello",
onChange(nextValue) {
console.log(nextValue);
},
};
AI Coding Instructions
- Pass the renderer type to
PropsForRendererinstead of manually duplicating its prop shape. - Keep renderer parameter types explicit so the extracted props remain accurate.
- Update call sites when renderer props change;
PropsForRendererwill reflect the new contract. - Use the extracted type for context values and helpers that forward props to the renderer.
Was this page helpful?