apx-toolkit
Version:
Automatically discover APIs and generate complete integration packages: code in 12 languages, TypeScript types, test suites, SDK packages, API documentation, mock servers, performance reports, and contract tests. Saves 2-4 weeks of work in seconds.
47 lines • 1.54 kB
TypeScript
/**
* JSON Schema Generator
* Generates JSON Schema from API responses for validation and OpenAPI integration
* Based on JSON Schema best practices and OpenAPI 3.1 specifications
*/
export interface JSONSchema {
$schema?: string;
type?: string;
properties?: Record<string, JSONSchema>;
items?: JSONSchema;
required?: string[];
description?: string;
example?: unknown;
examples?: unknown[];
enum?: unknown[];
format?: string;
minimum?: number;
maximum?: number;
minLength?: number;
maxLength?: number;
pattern?: string;
additionalProperties?: boolean | JSONSchema;
oneOf?: JSONSchema[];
anyOf?: JSONSchema[];
allOf?: JSONSchema[];
$ref?: string;
nullable?: boolean;
}
/**
* Generates JSON Schema from API response data
* Follows JSON Schema best practices:
* - Uses $ref for reusability
* - Avoids overusing allOf/anyOf/oneOf
* - Includes proper types and formats
* - Adds descriptions and examples
*/
export declare function generateJSONSchema(data: unknown, schemaName?: string, depth?: number, maxDepth?: number): JSONSchema;
/**
* Generates reusable schema components for OpenAPI
* Uses $ref for reusability (JSON Schema best practice)
*/
export declare function generateSchemaComponents(schemas: Map<string, JSONSchema>): Record<string, JSONSchema>;
/**
* Creates a $ref reference to a component schema
*/
export declare function createSchemaRef(componentName: string): JSONSchema;
//# sourceMappingURL=json-schema-generator.d.ts.map