# StreamRenderer

Source: /tuil/docs/reference/packages/streaming/api/stream-renderer
Locale: en

interface exported by @mwillbanks/tuil-streaming.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-streaming`.

```ts
export interface StreamRenderer<T = unknown> extends RenderProjection<T> {
  render(projected: T): string | readonly string[];
}
```

## Members [#members]

| Member    | Type                                                                                                   | Required | Description                                                                                                                                    | Related types                                                                |
| --------- | ------------------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `render`  | `(projected: T) => string \| readonly string[]`                                                        | Yes      | The `render` member uses the `(projected: T) => string \| readonly string[]` contract.                                                         | —                                                                            |
| `id`      | `string`                                                                                               | Yes      | The `id` member uses the `string` contract.                                                                                                    | —                                                                            |
| `project` | `(document: PartialDocument, context: &#123; readonly signal: AbortSignal; &#125;) => T \| Promise<T>` | Yes      | The `project` member uses the `(document: PartialDocument, context: &#123; readonly signal: AbortSignal; &#125;) => T \| Promise<T>` contract. | [`PartialDocument`](/tuil/docs/reference/packages/streaming/api/partial-document) |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`RenderProjection`](/tuil/docs/reference/packages/streaming/api/render-projection)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/streaming/src/index.ts)

## Package [#package]

[@mwillbanks/tuil-streaming](/tuil/docs/reference/packages/streaming)
