typescript-swagger
Version:
Generate Swagger files from a decorator library like typescript-rest or a @decorators/express.
41 lines (40 loc) • 1.87 kB
TypeScript
import { CompilerOptions } from "typescript";
import { SwaggerConfig } from '../config';
import { Metadata } from '../metadata/metadataGenerator';
import { Resolver } from "../metadata/resolver/type";
import { Swagger } from './index';
export declare function generateDocumentation(swaggerConfig: SwaggerConfig, tsConfig: CompilerOptions): Promise<string>;
export declare class SpecGenerator {
private readonly metadata;
private readonly config;
private debugger;
constructor(metadata: Metadata, config: SwaggerConfig);
generate(): Promise<void>;
getMetaData(): Metadata;
getSwaggerSpec(): Swagger.Spec;
getOpenApiSpec(): Promise<any>;
private convertToOpenApiSpec;
private buildDefinitions;
private buildPaths;
private buildPathMethod;
private handleMethodConsumes;
private hasFormParams;
private supportsBodyParameters;
private buildParameter;
private buildProperties;
private decideEnumType;
private buildOperation;
private getMimeType;
private handleMethodProduces;
private getOperationId;
private getSwaggerType;
protected isNull(type: Resolver.Type): boolean;
protected getSwaggerTypeForUnionType(type: Resolver.UnionType): Swagger.BaseSchema;
private getSwaggerTypeForPrimitiveType;
private getSwaggerTypeForArrayType;
protected getSwaggerTypeForIntersectionType(type: Resolver.IntersectionType): Swagger.Schema;
protected getSwaggerTypeForEnumType(enumType: Resolver.EnumType): Swagger.Schema2 | Swagger.Schema3;
getSwaggerTypeForObjectLiteral(objectLiteral: Resolver.NestedObjectLiteralType): Swagger.Schema;
private getSwaggerTypeForReferenceType;
protected determineTypesUsedInEnum(anEnum: Array<string | number | boolean | null>): Set<"string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function">;
}