evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
Build a TypeScript utility that analyzes OpenAPI 3.0 operation objects and extracts structured information about their request and response definitions.
The utility should provide a function that analyzes a given operation object and extracts structured information about its parameters, request body, and responses. The function should:
/**
* Summary of an operation's parameter
*/
export interface ParameterSummary {
name: string;
in: 'query' | 'path' | 'header' | 'cookie';
required: boolean;
}
/**
* Summary of an operation's request body
*/
export interface RequestBodySummary {
required: boolean;
mediaTypes: string[];
}
/**
* Summary of a single response
*/
export interface ResponseSummary {
statusCode: string;
description: string;
mediaTypes: string[];
}
/**
* Complete summary of an operation
*/
export interface OperationSummary {
parameters: ParameterSummary[];
requestBody?: RequestBodySummary;
responses: ResponseSummary[];
}
/**
* Analyzes an OpenAPI 3.0 operation and extracts structured information
* about its parameters, request body, and responses.
*
* @param operation - The OpenAPI 3.0 operation object to analyze
* @returns A structured summary of the operation
* @throws Error if the operation has invalid structure (e.g., missing response descriptions)
*/
export function analyzeOperation(operation: any): OperationSummary;Provides TypeScript type definitions for OpenAPI 3.0 specifications.