# CodeParser

Source: /tuil/docs/reference/packages/code/api/code-parser
Locale: en

interface exported by @mwillbanks/tuil-code.



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

## interface [#interface]

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

```ts
export interface CodeParser {
  readonly id: string;
  readonly languages: readonly string[];
  parse(
    source: string,
    options: {
      readonly previous?: CodeParseResult;
      readonly signal: AbortSignal;
    },
  ): CodeParseResult | Promise<CodeParseResult>;
  dispose?(): void;
}
```

## Members [#members]

| Member      | Type                                                                                                                                                         | Required | Description                                                                                                                                                                                        | Related types                                                            |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `id`        | `string`                                                                                                                                                     | Yes      | The `id` member uses the `string` contract.                                                                                                                                                        | —                                                                        |
| `languages` | `readonly string[]`                                                                                                                                          | Yes      | The `languages` member uses the `readonly string[]` contract.                                                                                                                                      | —                                                                        |
| `parse`     | `(source: string, options: &#123; readonly previous?: CodeParseResult; readonly signal: AbortSignal; &#125;) => CodeParseResult \| Promise<CodeParseResult>` | Yes      | The `parse` member uses the `(source: string, options: &#123; readonly previous?: CodeParseResult; readonly signal: AbortSignal; &#125;) => CodeParseResult \| Promise<CodeParseResult>` contract. | [`CodeParseResult`](/tuil/docs/reference/packages/code/api/code-parse-result) |
| `dispose`   | `(() => void) \| undefined`                                                                                                                                  | No       | The `dispose` member uses the `(() => void) \| undefined` contract.                                                                                                                                | —                                                                        |

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

* [`CodeParseResult`](/tuil/docs/reference/packages/code/api/code-parse-result)

## Source [#source]

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

## Package [#package]

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