@namecheap/tsoa-cli
Version:
Build swagger-compliant REST APIs using TypeScript and Node
28 lines (27 loc) • 1.28 kB
TypeScript
import * as ts from 'typescript';
import { Tsoa } from '@namecheap/tsoa-runtime';
import { SecurityGenerator } from './securityGenerator';
export interface MetadataGeneratorOptions {
securityGenerator?: SecurityGenerator;
}
export declare class MetadataGenerator {
private readonly compilerOptions?;
private readonly ignorePaths?;
readonly controllerNodes: ts.ClassDeclaration[];
readonly typeChecker: ts.TypeChecker;
readonly securityGenerator: SecurityGenerator | undefined;
private readonly program;
private referenceTypeMap;
private circularDependencyResolvers;
constructor(entryFile: string, compilerOptions?: ts.CompilerOptions | undefined, ignorePaths?: string[] | undefined, controllers?: string[], generatorOptions?: MetadataGeneratorOptions);
Generate(): Tsoa.Metadata;
private setProgramToDynamicControllersFiles;
private extractNodeFromProgramSourceFiles;
private checkForMethodSignatureDuplicates;
private checkForPathParamSignatureDuplicates;
TypeChecker(): ts.TypeChecker;
AddReferenceType(referenceType: Tsoa.ReferenceType): void;
GetReferenceType(refName: string): Tsoa.ReferenceType;
OnFinish(callback: (referenceTypes: Tsoa.ReferenceTypeMap) => void): void;
private buildControllers;
}