UNPKG

openapi-mock-express-middleware

Version:
47 lines (46 loc) 1.72 kB
import { OpenAPIV3 } from 'openapi-types'; import express from 'express'; import { JSF, JSONSchema } from '../utils'; export interface ParamsSchemas { header: JSONSchema; query: JSONSchema; path: JSONSchema; } export declare class Operation { method: string; pathRegexp: RegExp; operation: OpenAPIV3.OperationObject; pathPattern: string; path: string; generator: JSF; securitySchemes: { [key: string]: OpenAPIV3.SecuritySchemeObject; } | null; parentParams: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[] | null; constructor({ method, path, operation, securitySchemes, generator, parentParams, }: { path: string; method: string; operation: OpenAPIV3.OperationObject; generator: JSF; securitySchemes?: { [key: string]: OpenAPIV3.SecuritySchemeObject; }; parentParams?: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[]; }); getResponseStatus(): number; getResponseSchema(responseStatus?: number): JSONSchema | null; getSecurityRequirements(): OpenAPIV3.SecurityRequirementObject[]; getParamsSchemas(): ParamsSchemas; getBodySchema(contentType: string): JSONSchema | null; generateResponse(req: express.Request, res: express.Response): express.Response; } export declare const createOperation: ({ method, path, operation, generator, securitySchemes, parentParams, }: { path: string; method: string; operation: OpenAPIV3.OperationObject; generator: JSF; securitySchemes?: { [key: string]: OpenAPIV3.SecuritySchemeObject; }; parentParams?: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[]; }) => Operation;