fork of hey-api/openapi-ts because I need some additional things
1import type { IProjectRenderMeta } from './extensions';
2import type { File } from './files/file';
3import type { INode } from './nodes/node';
4import type { IProject } from './project/types';
5
6export interface RenderContext<Node extends INode = INode> {
7 /**
8 * The current file.
9 */
10 file: File<Node>;
11 /**
12 * Arbitrary metadata.
13 */
14 meta?: IProjectRenderMeta;
15 /**
16 * The project the file belongs to.
17 */
18 project: IProject;
19}
20
21export interface Renderer {
22 /** Renders the given file. */
23 render(ctx: RenderContext): string;
24 /** Returns whether this renderer can render the given file. */
25 supports(ctx: RenderContext): boolean;
26}