@namecheap/tsoa-cli
Version:
Build swagger-compliant REST APIs using TypeScript and Node
47 lines (46 loc) • 1.69 kB
TypeScript
import * as ts from 'typescript';
import { MetadataGenerator } from './metadataGenerator';
import { Tsoa } from '@namecheap/tsoa-runtime';
type HttpMethod = 'options' | 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head';
export declare class MethodGenerator {
private readonly node;
private readonly current;
private readonly commonResponses;
private readonly parentPath?;
private readonly parentTags?;
private readonly parentSecurity?;
private readonly isParentHidden?;
protected method?: HttpMethod;
protected path?: string;
private produces?;
private consumes?;
constructor(node: ts.MethodDeclaration, current: MetadataGenerator, commonResponses: Tsoa.Response[], parentPath?: string | undefined, parentTags?: string[] | undefined, parentSecurity?: Tsoa.Security[] | undefined, isParentHidden?: boolean | undefined);
IsValid(): this is {
method: HttpMethod;
path: string;
};
Generate(): Tsoa.Method;
private buildParameters;
private validateBodyParameters;
private validateQueryParameters;
private getExtensions;
private getCurrentLocation;
private processMethodDecorators;
private getProduces;
private getConsumes;
private getMethodResponses;
private getMethodSuccessResponse;
private getHeadersFromDecorator;
private getSchemaFromDecorator;
private getMethodSuccessExamples;
private supportsPathMethod;
private getIsDeprecated;
private getOperationId;
private getTags;
private getSecurity;
private getIsHidden;
private getDecoratorsByIdentifier;
private getProducesAdapter;
private processCustomDecorators;
}
export {};