# DocumentTransformer

Source: /tuil/docs/reference/packages/streaming/api/document-transformer
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 DocumentTransformer {
  readonly id: string;
  transform(
    document: PartialDocument,
    context: { readonly signal: AbortSignal },
  ): PartialDocument | Promise<PartialDocument>;
}
```

## Members [#members]

| Member      | Type                                                                                                                               | Required | Description                                                                                                                                                                  | Related types                                                                |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `id`        | `string`                                                                                                                           | Yes      | The `id` member uses the `string` contract.                                                                                                                                  | —                                                                            |
| `transform` | `(document: PartialDocument, context: &#123; readonly signal: AbortSignal; &#125;) => PartialDocument \| Promise<PartialDocument>` | Yes      | The `transform` member uses the `(document: PartialDocument, context: &#123; readonly signal: AbortSignal; &#125;) => PartialDocument \| Promise<PartialDocument>` 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]

* [`PartialDocument`](/tuil/docs/reference/packages/streaming/api/partial-document)

## 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)
