Skip to main content

renderer

Renderer​

Defined in: renderer.ts:211

Use Declared Type

Core renderer class responsible for generating documentation files from GraphQL schema entities. Handles the conversion of schema types to markdown/MDX documentation with proper organization.

Example​

Constructors​

Constructor​

new Renderer(
printer,
outputDir,
baseURL,
group,
prettify,
docOptions,
mdxModule?): Renderer

Defined in: renderer.ts:234

Creates a new Renderer instance.

Parameters​
printer​

typeof IPrinter

The printer instance used to convert GraphQL types to markdown

outputDir​

string

Directory where documentation will be generated

baseURL​

string

Base URL for the documentation

group​

Maybe<Partial<Record<SchemaEntity, Record<string, Maybe<string>>>>>

Optional grouping configuration for schema entities

prettify​

boolean

Whether to format the generated markdown

docOptions​

Maybe<RendererDocOptions>

Additional documentation options

mdxModule?​

unknown

Optional MDX module for enhanced documentation features

Returns​

Renderer

Example​

Properties​

baseURL​

baseURL: string;

Defined in: renderer.ts:214

group​

group: Maybe<Partial<Record<SchemaEntity, Record<string, Maybe<string>>>>>;

Defined in: renderer.ts:212

mdxModule​

mdxModule: unknown;

Defined in: renderer.ts:217

mdxModuleIndexFileSupport​

mdxModuleIndexFileSupport: boolean;

Defined in: renderer.ts:218

options​

options: Maybe<RendererDocOptions>;

Defined in: renderer.ts:216

outputDir​

outputDir: string;

Defined in: renderer.ts:213

prettify​

prettify: boolean;

Defined in: renderer.ts:215

Methods​

generateCategoryMetafileType()​

generateCategoryMetafileType(
type,
name,
rootTypeName): Promise<string>

Defined in: renderer.ts:318

Use Declared Type

Generates the directory path and metafiles for a specific schema entity type. Creates the appropriate directory structure based on configuration options.

Parameters​
type​

unknown

The schema entity type

name​

string

The name of the schema entity

rootTypeName​

SchemaEntity

The root type name this entity belongs to

Returns​

Promise<string>

The generated directory path

Example​

generateIndexMetafile()​

generateIndexMetafile(
dirPath,
category,
options): Promise<void>

Defined in: renderer.ts:290

Use Declared Type

Generates an index metafile for a category directory if MDX support is available.

Parameters​
dirPath​

string

The directory path where the index should be created

category​

string

The category name

options​

CategoryMetafileOptions = ...

Configuration options for the index

Returns​

Promise<void>

Promise that resolves when the index is generated

Example​
await renderer.generateIndexMetafile('docs/types', 'Types', {
collapsible: true,
collapsed: false
});

hasMDXIndexFileSupport()​

hasMDXIndexFileSupport(module): module is Partial<MDXSupportType> & Pick<MDXSupportType, "generateIndexMetafile">

Defined in: renderer.ts:261

Use Declared Type

Checks if the provided module supports MDX index file generation.

Parameters​
module​

unknown = ...

The module to check for MDX support

Returns​

module is Partial<MDXSupportType> & Pick<MDXSupportType, "generateIndexMetafile">

True if the module supports index metafile generation

Example​

renderHomepage()​

renderHomepage(homepageLocation): Promise<void>

Defined in: renderer.ts:494

Use Declared Type

Renders the homepage for the documentation from a template file. Replaces placeholders in the template with actual values.

Parameters​
homepageLocation​

string

Path to the homepage template file

Returns​

Promise<void>

Promise that resolves when the homepage is rendered

Example​

renderRootTypes()​

renderRootTypes(rootTypeName, type): Promise<Maybe<Maybe<Category>[]>>

Defined in: renderer.ts:380

Use Declared Type

Renders all types within a root type category (e.g., all Query types).

Parameters​
rootTypeName​

SchemaEntity

The name of the root type (e.g., "Query", "Mutation")

type​

unknown

The type object containing all entities to render

Returns​

Promise<Maybe<Maybe<Category>[]>>

Array of rendered categories or undefined

Example​

renderTypeEntities()​

renderTypeEntities(
dirPath,
name,
type): Promise<Maybe<Category>>

Defined in: renderer.ts:424

Use Declared Type

Renders documentation for a specific type entity and saves it to a file.

Parameters​
dirPath​

string

The directory path where the file should be saved

name​

string

The name of the type entity

type​

unknown

The type entity to render

Returns​

Promise<Maybe<Category>>

The category information for the rendered entity or undefined

Example​

CategoryMetafileOptions​

Defined in: renderer.ts:198

Use Declared Type

Configuration options for category metafiles in the documentation. These options control the appearance and behavior of category sections in the sidebar.

CategoryMetafileOptions

Example​

const options: CategoryMetafileOptions = {
collapsible: true,
collapsed: false,
sidebarPosition: SidebarPosition.FIRST,
styleClass: CATEGORY_STYLE_CLASS.API
};

Properties​

collapsed?​

optional collapsed: boolean;

Defined in: renderer.ts:200

Whether the category should be initially collapsed

collapsible?​

optional collapsible: boolean;

Defined in: renderer.ts:199

Whether the category should be collapsible in the sidebar

sidebarPosition?​

optional sidebarPosition: number;

Defined in: renderer.ts:201

Custom position in the sidebar (lower numbers appear first)

styleClass?​

optional styleClass: string;

Defined in: renderer.ts:202

CSS class to apply to the category for styling


API_GROUPS​

const API_GROUPS: Required<ApiGroupOverrideType>;

Defined in: renderer.ts:118

Use Declared Type

Default group names for API types and non-API types. This constant provides the base folder structure for organizing GraphQL schema entities. Can be overridden via ApiGroupOverrideType in configuration.

Example​

// Default structure
const defaultGroups = API_GROUPS;
// { operations: "operations", types: "types" }

// With custom override
const customGroups = { ...API_GROUPS, operations: "queries-and-mutations" };

See​

getApiGroupFolder For usage with type categorization


getApiGroupFolder()​

function getApiGroupFolder(type, groups?): string

Defined in: renderer.ts:140

Use Declared Type

Determines the appropriate folder for a GraphQL schema entity based on its type.

Parameters​

type​

unknown

The GraphQL schema entity to categorize

groups?​

Maybe<boolean | ApiGroupOverrideType>

Optional custom group naming configuration

Returns​

string

The folder name where the entity should be placed

Example​

// With default groups
const folder = getApiGroupFolder(queryType); // Returns "operations"

// With custom groups
const folder = getApiGroupFolder(objectType, { operations: "queries" }); // Returns appropriate folder

getRenderer()​

function getRenderer(
printer,
outputDir,
baseURL,
group,
prettify,
docOptions,
mdxModule?): Promise<Renderer>

Defined in: renderer.ts:558

Use Declared Type

Factory function to create and initialize a Renderer instance. Creates the output directory and returns a configured renderer.

Parameters​

printer​

typeof IPrinter

The printer instance to use for rendering types

outputDir​

string

The output directory for generated documentation

baseURL​

string

The base URL for the documentation

group​

Maybe<Partial<Record<SchemaEntity, Record<string, Maybe<string>>>>>

Optional grouping configuration

prettify​

boolean

Whether to prettify the output markdown

docOptions​

Maybe<RendererDocOptions>

Additional documentation options

mdxModule?​

unknown

Optional MDX module for enhanced features

Returns​

Promise<Renderer>

A configured Renderer instance

Example​

const renderer = await getRenderer(
myPrinter,
'./docs',
'/api',
groupConfig,
true,
{ force: true, index: true }
);