serverless-openapi-documentation
Version:
Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration
55 lines (54 loc) • 1.8 kB
TypeScript
import { IDefinition, IDefinitionConfig, IServerlessFunctionConfig } from './types';
export declare class DefinitionGenerator {
version: string;
definition: IDefinition;
config: IDefinitionConfig;
/**
* Constructor
* @param serviceDescriptor IServiceDescription
*/
constructor(config: IDefinitionConfig);
parse(): this;
validate(): {
valid: boolean;
context: string[];
warnings: any[];
error?: any[];
};
/**
* Add Paths to OpenAPI Configuration from Serverless function documentation
* @param config Add
*/
readFunctions(config: IServerlessFunctionConfig[]): void;
/**
* Cleans schema objects to make them OpenAPI compatible
* @param schema JSON Schema Object
*/
private cleanSchema(schema);
/**
* Generate Operation objects from the Serverless Config.
*
* @link https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/3.0.0.md#operationObject
* @param funcName
* @param documentationConfig
*/
private getOperationFromConfig(funcName, documentationConfig);
/**
* Derives Path, Query and Request header parameters from Serverless documentation
* @param documentationConfig
*/
private getParametersFromConfig(documentationConfig);
/**
* Derives request body schemas from event documentation configuration
* @param documentationConfig
*/
private getRequestBodiesFromConfig(documentationConfig);
private attachExamples(target, config);
/**
* Gets response bodies from documentation config
* @param documentationConfig
*/
private getResponsesFromConfig(documentationConfig);
private getResponseContent(response);
private getHttpEvents(funcConfig);
}