evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
Build a utility that transforms OpenAPI schema objects by adding XML serialization metadata to prepare them for APIs that support both JSON and XML representations.
Create a TypeScript module that provides functionality to enhance OpenAPI 3.0 schema objects with XML serialization configuration.
Your utility should accept an OpenAPI 3.0 schema object and XML configuration options, then return an enhanced schema with appropriate XML metadata.
The XML configuration should support:
The utility should validate that:
import { OpenAPIV3 } from 'openapi-types';
/**
* Configuration for XML serialization metadata
*/
export interface XMLConfig {
name?: string;
namespace?: string;
prefix?: string;
attribute?: boolean;
wrapped?: boolean;
}
/**
* Enhances an OpenAPI schema with XML serialization metadata
*
* @param schema - The OpenAPI 3.0 schema object to enhance
* @param xmlConfig - XML serialization configuration
* @returns Enhanced schema with XML metadata
* @throws Error if schema or xmlConfig is invalid
*/
export function addXMLMetadata(
schema: OpenAPIV3.SchemaObject,
xmlConfig: XMLConfig
): OpenAPIV3.SchemaObject;
/**
* Validates that a schema object has proper XML metadata
*
* @param schema - The schema to validate
* @returns true if schema has valid XML metadata, false otherwise
*/
export function hasValidXMLMetadata(schema: OpenAPIV3.SchemaObject): boolean;Provides TypeScript type definitions for OpenAPI 3.0 specifications, including XMLObject type for schema XML serialization metadata.