UNPKG

fumadocs-openapi

Version:

Generate MDX docs for your OpenAPI spec

65 lines (64 loc) 1.98 kB
import { OpenAPIServer } from "./server/create.js"; import { OutputEntry } from "./utils/pages/builder.js"; import { SchemaToPagesOptions } from "./utils/pages/preset-auto.js"; import "./server/index.js"; import { ProcessedDocument } from "./utils/process-document.js"; import { PagesToTextOptions } from "./utils/pages/to-text.js"; //#region src/generate-file.d.ts interface OutputFile { path: string; content: string; } interface IndexConfig { items: IndexItem[] | ((ctx: BeforeWriteContext) => IndexItem[]); /** * Generate URLs for cards */ url: ((filePath: string) => string) | { baseUrl: string; /** * Base content directory */ contentDir: string; }; } interface IndexItem { path: string; title?: string; description?: string; /** * Specify linked pages: * - items in `inputs` to include all generated pages of a specific schema. * - specific Markdown/MDX files. */ only?: string[]; } interface GenerateFilesConfig extends PagesToTextOptions { /** * the OpenAPI server object */ input: OpenAPIServer; /** * Output directory */ output: string; /** * Generate index files with cards linking to generated pages. */ index?: IndexConfig; /** * Can add/change/remove output files before writing to file system **/ beforeWrite?: (this: BeforeWriteContext, files: OutputFile[]) => void | Promise<void>; } type Config = SchemaToPagesOptions & GenerateFilesConfig; interface BeforeWriteContext { readonly generated: Record<string, OutputFile[]>; readonly generatedEntries: Record<string, OutputEntry[]>; readonly documents: Record<string, ProcessedDocument>; } declare function generateFiles(options: Config): Promise<void>; declare function generateFilesOnly(options: SchemaToPagesOptions & Omit<GenerateFilesConfig, 'output'>): Promise<OutputFile[]>; //#endregion export { Config, OutputFile, generateFiles, generateFilesOnly }; //# sourceMappingURL=generate-file.d.ts.map