UNPKG

docusaurus-graphql-plugin

Version:

Docusaurus plugin generating Markdown documentation from a GraphQL schema.

39 lines (31 loc) 938 B
import { GraphQLField } from "graphql"; import { MarkdownConverterOptions } from "../types"; import { escapeSpecialCharacters } from "./parseMarkdown"; import { pushArguments } from "./pushArguments"; export function convertMutationToMarkdown( mutation: GraphQLField<any, any>, options: MarkdownConverterOptions ): string { const lines: string[] = []; lines.push(`## ${mutation.name}`, `\n\n`); const typeUrl = options.getTypePath(mutation.type); lines.push( `**Type:** ${ typeUrl ? `[${mutation.type.toJSON()}](${typeUrl})` : mutation.type.toJSON() }`, `\n\n` ); if (mutation.deprecationReason) { lines.push( `> Deprecated: ${escapeSpecialCharacters(mutation.deprecationReason)}`, `\n\n` ); } lines.push(mutation.description || "", `\n\n`); if (mutation.args.length > 0) { pushArguments(lines, mutation.args, options); } return lines.join(""); }