@bluejeans/flexdoc-backend
Version:
FlexDoc backend integration for NestJS and other frameworks
72 lines (71 loc) • 1.65 kB
TypeScript
import { FlexDocOptions } from './interfaces';
interface OpenAPISpec {
paths?: Record<string, PathItem>;
info?: {
title?: string;
description?: string;
version?: string;
};
servers?: Array<{
url: string;
description?: string;
}>;
tags?: Array<{
name: string;
description?: string;
}>;
components?: {
securitySchemes?: Record<string, any>;
schemas?: Record<string, any>;
};
}
interface PathItem {
get?: Operation;
post?: Operation;
put?: Operation;
delete?: Operation;
patch?: Operation;
options?: Operation;
head?: Operation;
parameters?: Parameter[];
[key: string]: Operation | Parameter[] | undefined;
}
interface Operation {
tags?: string[];
summary?: string;
description?: string;
operationId?: string;
parameters?: Parameter[];
requestBody?: RequestBody;
responses?: Record<string, Response>;
security?: Array<Record<string, string[]>>;
deprecated?: boolean;
}
interface Parameter {
name: string;
in: string;
description?: string;
required?: boolean;
schema?: any;
$ref?: string;
}
interface RequestBody {
description?: string;
content?: Record<string, MediaType>;
required?: boolean;
}
interface Response {
description: string;
content?: Record<string, MediaType>;
}
interface MediaType {
schema?: any;
example?: any;
}
export declare function generateFlexDocHTML(spec: OpenAPISpec | null, options?: FlexDocOptions & {
specUrl?: string;
tagGroups?: {
tags: string[];
}[];
}): string;
export {};